iobroker.device-watcher 2.9.7 → 2.9.9

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 CHANGED
@@ -189,6 +189,15 @@ It's possible to select:
189
189
  Placeholder for the next version (at the beginning of the line):
190
190
  ### **WORK IN PROGRESS**
191
191
  -->
192
+ ### 2.9.9 (2023-12-07)
193
+
194
+ - (ciddi89) Fixed: Write log message of selected adapters only on startup
195
+
196
+ ### 2.9.8 (2023-11-26)
197
+
198
+ - (ciddi89) Fixed: Added additional check for instance states [#262](https://github.com/ciddi89/ioBroker.device-watcher/issues/262)
199
+ - (ciddi89) Fixed: Execute adapter even if no device adapter is selected
200
+
192
201
  ### 2.9.7 (2023-11-23)
193
202
 
194
203
  - (ciddi89) Added: Support for Wifilight
@@ -28,10 +28,10 @@
28
28
  "Get daily an overview with all offline devices": "Get daily an overview with all offline devices",
29
29
  "Get message if an device has low battery": "Get message if an device has low battery",
30
30
  "Get message if an device is not reachable": "Get message if an device is not reachable",
31
- "Here you can choose your notification service, you can use more than one service, but you can also leave all blank, then only the datapoint lastNotification will be filled.": "Here you can choose your notification service, you can use more than one service, but you can also leave all blank, then only the datapoint lastNotification will be filled.",
32
- "Here you can define the offline times of each adapter. If you want to use the data points of the devices (online, available, reachable etc.) directly to determine the status, enter ' 0 '.": "Here you can define the offline times of each adapter. If you want to use the datapoints of the devices (online, available, reachable etc.) directly to determine the status, enter ' 0 '.",
33
- "Here you can define the offline times of each adapter. If you want to use the data points of the devices (online, available, reachable etc.) directly to determine the status, enter '-1'.": "Here you can define the offline times of each adapter. If you want to use the datapoints of the devices (online, available, reachable etc.) directly to determine the status, enter '-1'.",
34
- "Here you can define the update interval of the datapoints/lists. For performance reasons, it is not recommended to select a poll value that is too low. Lower than two seconds is not selectable.": "Here you can define the update interval of the datapoints/lists. For performance reasons, it is not recommended to select a poll value that is too low. Lower than two seconds is not selectable.",
31
+ "Here you can choose your notification service, you can use more than one service, but you can also leave all blank, then only the datapoint lastNotification will be filled.": "Here you can choose your notification service, you can use more than one service, but you can also leave all blank, then only the state lastNotification will be filled.",
32
+ "Here you can define the offline times of each adapter. If you want to use the data points of the devices (online, available, reachable etc.) directly to determine the status, enter ' 0 '.": "Here you can define the offline times of each adapter. If you want to use the states of the devices (online, available, reachable etc.) directly to determine the status, enter ' 0 '.",
33
+ "Here you can define the offline times of each adapter. If you want to use the data points of the devices (online, available, reachable etc.) directly to determine the status, enter '-1'.": "Here you can define the offline times of each adapter. If you want to use the states of the devices (online, available, reachable etc.) directly to determine the status, enter '-1'.",
34
+ "Here you can define the update interval of the datapoints/lists. For performance reasons, it is not recommended to select a poll value that is too low. Lower than two seconds is not selectable.": "Here you can define the update interval of the states/lists. For performance reasons, it is not recommended to select a poll value that is too low. Lower than two seconds is not selectable.",
35
35
  "High Priority": "High Priority",
36
36
  "If you like to have for every Adapter an own folder with own data": "If you like to have for every Adapter an own folder with own data",
37
37
  "Ignor in lists": "Ignor in lists",
@@ -90,7 +90,7 @@
90
90
  "Get a message with an overview all devices with update": "Get a message with an overview of all devices with update",
91
91
  "Choose the day(s) where you want to get the overview of update devices:": "Choose the day(s) where you want to get the overview of update devices:",
92
92
  "Other Notification Settings": "Other Notification Settings",
93
- "Update datapoints directly": "Update datapoints directly",
93
+ "Update datapoints directly": "Update states directly",
94
94
  "Update lists & counts which each statechange of devices": "Update lists & counts which each statechange of devices",
95
95
  "Update lists & counts directly with each statechange of devices": "Update lists & counts directly with each statechange of devices",
96
96
  "Overview of low battery devices": "Overview of low battery devices",
package/admin/words.js CHANGED
@@ -37,10 +37,10 @@ systemDictionary = {
37
37
  "Get daily an overview with all offline devices": {"en": "Get daily an overview with all offline devices", "de": "Erhalte täglich einen Übersicht mit allen Offline-Geräten", "ru": "Получайте ежедневный обзор всех автономных устройств", "pt": "Obtenha diariamente uma visão geral com todos os dispositivos offline", "nl": "Krijg dagelijks een overzicht met alle offline apparaten", "fr": "Obtenez quotidiennement un aperçu de tous les appareils hors ligne", "it": "Ottieni quotidianamente una panoramica di tutti i dispositivi offline", "es": "Obtenga diariamente una descripción general con todos los dispositivos fuera de línea", "pl": "Otrzymuj codziennie przegląd wszystkich urządzeń offline", "uk": "Отримуйте щоденний огляд усіх офлайн-пристроїв", "zh-cn": "每天获取所有离线设备的概览"},
38
38
  "Get message if an device has low battery": { "en": "Get message if an device has low battery", "de": "Erhalte eine Nachricht, wenn die Batterie eines Geräts schwach ist", "ru": "Получить сообщение, если на устройстве разряжена батарея", "pt": "Receber mensagem se um dispositivo estiver com bateria fraca", "nl": "Ontvang een bericht als de batterij van een apparaat bijna leeg is", "fr": "Recevoir un message si un appareil a une batterie faible", "it": "Ricevi un messaggio se un dispositivo ha la batteria scarica", "es": "Recibe un mensaje si un dispositivo tiene poca batería", "pl": "Otrzymuj wiadomość, jeśli urządzenie ma niski poziom naładowania baterii", "uk": "Отримувати повідомлення, якщо пристрій розрядився", "zh-cn": "如果设备电池电量不足,则获取消息"},
39
39
  "Get message if an device is not reachable": { "en": "Get message if an device is not reachable", "de": "Erhalte eine Nachricht, wenn ein Gerät nicht erreichbar ist", "ru": "Получить сообщение, если устройство недоступно", "pt": "Receber mensagem se um dispositivo não estiver acessível", "nl": "Ontvang een bericht als een apparaat niet bereikbaar is", "fr": "Recevoir un message si un appareil n'est pas accessible", "it": "Ricevi un messaggio se un dispositivo non è raggiungibile", "es": "Recibir un mensaje si no se puede acceder a un dispositivo", "pl": "Otrzymuj wiadomość, jeśli urządzenie jest nieosiągalne", "uk": "Отримати повідомлення, якщо пристрій недоступний", "zh-cn": "如果设备无法访问,则获取消息"},
40
- "Here you can choose your notification service, you can use more than one service, but you can also leave all blank, then only the datapoint lastNotification will be filled.": {"en": "Here you can choose your notification service, you can use more than one service, but you can also leave all blank, then only the datapoint lastNotification will be filled.", "de": "Hier können der Benachrichtigungsdienst auswählt werden. Es kann mehr als einen Dienst verwendet werden. Man kann auch alle leer lassen, dann wird nur der Datenpunkt lastNotification gefüllt.", "ru": "Здесь вы можете выбрать службу уведомлений, вы можете использовать более одной службы, но вы также можете оставить все пустым, тогда будет заполнена только точка данных lastNotification.", "pt": "Aqui você pode escolher seu serviço de notificação, você pode usar mais de um serviço, mas também pode deixar todos em branco, então apenas o datapoint lastNotification será preenchido.", "nl": "Hier kunt u uw meldingsservice kiezen, u kunt meer dan één service gebruiken, maar u kunt ook alles leeg laten, dan wordt alleen het datapunt lastNotification gevuld.", "fr": "Ici, vous pouvez choisir votre service de notification, vous pouvez utiliser plus d'un service, mais vous pouvez également tout laisser vide, alors seul le point de données lastNotification sera rempli.", "it": "Qui puoi scegliere il tuo servizio di notifica, puoi utilizzare più di un servizio, ma puoi anche lasciare tutto vuoto, quindi verrà riempito solo il datapoint lastNotification.", "es": "Aquí puede elegir su servicio de notificación, puede usar más de un servicio, pero también puede dejar todo en blanco, luego solo se completará el punto de datos lastNotification.", "pl": "Tutaj możesz wybrać usługę powiadamiania, możesz korzystać z więcej niż jednej usługi, ale możesz również pozostawić wszystko puste, wtedy zostanie wypełniony tylko punkt danych lastNotification.", "uk": "Тут ви можете вибрати свою службу сповіщень, ви можете використовувати більше однієї служби, але ви також можете залишити всі порожніми, тоді буде заповнено лише точку даних lastNotification.", "zh-cn": "在这里你可以选择你的通知服务,你可以使用多个服务,但你也可以全部留空,那么只会填写数据点lastNotification。"},
41
- "Here you can define the offline times of each adapter. If you want to use the data points of the devices (online, available, reachable etc.) directly to determine the status, enter ' 0 '.": {"en": "Here you can define the offline times of each adapter. If you want to use the datapoints of the devices (online, available, reachable etc.) directly to determine the status, enter ' 0 '.", "de": "Hier kann man die Offline-Zeiten jedes Adapters definieren. Wenn die Datenpunkte der Geräte (online, verfügbar, erreichbar etc.) direkt zur Statusermittlung genutzt werden sollen, bitte '0' eingeben.", "ru": "Здесь вы можете определить время автономной работы каждого адаптера. Если вы хотите использовать точки данных устройств (в сети, доступны, доступны и т. д.) непосредственно для определения статуса, введите «0».", "pt": "Aqui você pode definir os tempos offline de cada adaptador. Se você quiser usar os pontos de dados dos dispositivos (online, disponíveis, alcançáveis ​​etc.) diretamente para determinar o status, digite ' 0 '.", "nl": "Hier kunt u de offline tijden van elke adapter definiëren. Wil je de datapunten van de apparaten (online, beschikbaar, bereikbaar etc.) direct gebruiken om de status te bepalen, vul dan '0' in.", "fr": "Ici, vous pouvez définir les heures hors ligne de chaque adaptateur. Si vous souhaitez utiliser directement les points de données des appareils (en ligne, disponibles, joignables, etc.) pour déterminer l'état, entrez ' 0 '.", "it": "Qui puoi definire i tempi offline di ciascun adattatore. Se si desidera utilizzare direttamente i punti dati dei dispositivi (online, disponibili, raggiungibili ecc.) per determinarne lo stato, immettere ' 0 '.", "es": "Aquí puede definir los tiempos fuera de línea de cada adaptador. Si desea utilizar los puntos de datos de los dispositivos (en línea, disponibles, accesibles, etc.) directamente para determinar el estado, ingrese ' 0 '.", "pl": "Tutaj możesz zdefiniować czasy offline każdego adaptera. Jeśli chcesz wykorzystać punkty danych urządzeń (online, dostępne, osiągalne itp.) bezpośrednio do określenia stanu, wpisz „0”.", "uk": "Тут ви можете визначити час автономної роботи кожного адаптера. Якщо ви хочете використовувати точки даних пристроїв (онлайн, доступний, доступний тощо) безпосередньо для визначення статусу, введіть «0».", "zh-cn": "您可以在此处定义每个适配器的离线时间。如果要直接使用设备的数据点(在线、可用、可达等)来确定状态,请输入“0”。"},
42
- "Here you can define the offline times of each adapter. If you want to use the data points of the devices (online, available, reachable etc.) directly to determine the status, enter '-1'.": {"en": "Here you can define the offline times of each adapter. If you want to use the datapoints of the devices (online, available, reachable etc.) directly to determine the status, enter '-1'.", "de": "Hier gebenkann man die Offline-Zeiten jedes Adapters definieren. Wenn die Datenpunkte der Geräte (online, verfügbar, erreichbar etc.) direkt zur Statusermittlung verwendet werden sollen, '-1' ein.", "ru": "Здесь вы можете определить время автономной работы каждого адаптера. Если вы хотите использовать точки данных устройств (в сети, доступны, доступны и т. д.) непосредственно для определения статуса, введите «-1».", "pt": "Aqui você pode definir os tempos offline de cada adaptador. Se você quiser usar os pontos de dados dos dispositivos (online, disponíveis, alcançáveis ​​etc.) diretamente para determinar o status, digite '-1'.", "nl": "Hier kunt u de offline tijden van elke adapter definiëren. Wil je de datapunten van de apparaten (online, beschikbaar, bereikbaar etc.) direct gebruiken om de status te bepalen, vul dan '-1' in.", "fr": "Ici, vous pouvez définir les heures hors ligne de chaque adaptateur. Si vous souhaitez utiliser directement les points de données des appareils (en ligne, disponibles, joignables, etc.) pour déterminer l'état, entrez '-1'.", "it": "Qui puoi definire i tempi offline di ciascun adattatore. Se si desidera utilizzare direttamente i punti dati dei dispositivi (online, disponibili, raggiungibili ecc.) per determinare lo stato, immettere '-1'.", "es": "Aquí puede definir los tiempos fuera de línea de cada adaptador. Si desea utilizar los puntos de datos de los dispositivos (en línea, disponibles, accesibles, etc.) directamente para determinar el estado, ingrese '-1'.", "pl": "Tutaj możesz zdefiniować czasy offline każdego adaptera. Jeśli chcesz wykorzystać punkty danych urządzeń (online, dostępne, osiągalne itp.) bezpośrednio do określenia stanu, wpisz „-1”.", "uk": "Тут ви можете визначити час автономної роботи кожного адаптера. Якщо ви хочете використовувати точки даних пристроїв (онлайн, доступний, доступний тощо) безпосередньо для визначення статусу, введіть «-1».", "zh-cn": "您可以在此处定义每个适配器的离线时间。如果您想直接使用设备的数据点(在线、可用、可达等)来确定状态,请输入“-1”。"},
43
- "Here you can define the update interval of the datapoints/lists. For performance reasons, it is not recommended to select a poll value that is too low. Lower than two seconds is not selectable.": {"en": "Here you can define the update interval of the datapoints/lists. For performance reasons, it is not recommended to select a poll value that is too low. Lower than two seconds is not selectable.", "de": "Hier kann man das Aktualisierungsintervall der Datenpunkte/Listen festlegen. Aus Performance-Gründen wird davon abgeraten, einen zu niedrigen Poll-Wert zu wählen. Weniger als zwei Sekunden sind nicht wählbar.", "ru": "Здесь вы можете определить интервал обновления точек данных/списков. Из соображений производительности не рекомендуется выбирать слишком низкое значение опроса. Меньше двух секунд выбрать нельзя.", "pt": "Aqui você pode definir o intervalo de atualização dos pontos de dados/listas. Por motivos de desempenho, não é recomendável selecionar um valor de sondagem muito baixo. Inferior a dois segundos não é selecionável.", "nl": "Hier kunt u het update-interval van de datapunten/lijsten definiëren. Om prestatieredenen wordt het niet aanbevolen om een ​​te lage poll-waarde te selecteren. Lager dan twee seconden kan niet worden geselecteerd.", "fr": "Ici, vous pouvez définir l'intervalle de mise à jour des points de données/listes. Pour des raisons de performances, il est déconseillé de sélectionner une valeur d'interrogation trop faible. Inférieur à deux secondes n'est pas sélectionnable.", "it": "Qui è possibile definire l'intervallo di aggiornamento dei punti dati/elenchi. Per motivi di prestazioni, non è consigliabile selezionare un valore di polling troppo basso. Meno di due secondi non è selezionabile.", "es": "Aquí puede definir el intervalo de actualización de los puntos de datos/listas. Por motivos de rendimiento, no se recomienda seleccionar un valor de sondeo demasiado bajo. Menos de dos segundos no es seleccionable.", "pl": "Tutaj możesz zdefiniować interwał aktualizacji punktów danych/list. Ze względu na wydajność nie zaleca się wybierania zbyt niskiej wartości sondy. Nie można wybrać mniej niż dwie sekundy.", "uk": "Тут ви можете визначити інтервал оновлення точок даних/списків. З міркувань продуктивності не рекомендується вибирати занадто низьке значення опитування. Менше двох секунд вибрати неможливо.", "zh-cn": "您可以在此处定义数据点/列表的更新间隔。出于性能原因,不建议选择太低的轮询值。低于两秒是不可选的。"},
40
+ "Here you can choose your notification service, you can use more than one service, but you can also leave all blank, then only the datapoint lastNotification will be filled.": {"en": "Here you can choose your notification service, you can use more than one service, but you can also leave all blank, then only the state lastNotification will be filled.", "de": "Hier können der Benachrichtigungsdienst auswählt werden. Es kann mehr als einen Dienst verwendet werden. Man kann auch alle leer lassen, dann wird nur der Datenpunkt lastNotification gefüllt.", "ru": "Здесь вы можете выбрать службу уведомлений, вы можете использовать более одной службы, но вы также можете оставить все пустым, тогда будет заполнена только точка данных lastNotification.", "pt": "Aqui você pode escolher seu serviço de notificação, você pode usar mais de um serviço, mas também pode deixar todos em branco, então apenas o datapoint lastNotification será preenchido.", "nl": "Hier kunt u uw meldingsservice kiezen, u kunt meer dan één service gebruiken, maar u kunt ook alles leeg laten, dan wordt alleen het datapunt lastNotification gevuld.", "fr": "Ici, vous pouvez choisir votre service de notification, vous pouvez utiliser plus d'un service, mais vous pouvez également tout laisser vide, alors seul le point de données lastNotification sera rempli.", "it": "Qui puoi scegliere il tuo servizio di notifica, puoi utilizzare più di un servizio, ma puoi anche lasciare tutto vuoto, quindi verrà riempito solo il datapoint lastNotification.", "es": "Aquí puede elegir su servicio de notificación, puede usar más de un servicio, pero también puede dejar todo en blanco, luego solo se completará el punto de datos lastNotification.", "pl": "Tutaj możesz wybrać usługę powiadamiania, możesz korzystać z więcej niż jednej usługi, ale możesz również pozostawić wszystko puste, wtedy zostanie wypełniony tylko punkt danych lastNotification.", "uk": "Тут ви можете вибрати свою службу сповіщень, ви можете використовувати більше однієї служби, але ви також можете залишити всі порожніми, тоді буде заповнено лише точку даних lastNotification.", "zh-cn": "在这里你可以选择你的通知服务,你可以使用多个服务,但你也可以全部留空,那么只会填写数据点lastNotification。"},
41
+ "Here you can define the offline times of each adapter. If you want to use the data points of the devices (online, available, reachable etc.) directly to determine the status, enter ' 0 '.": {"en": "Here you can define the offline times of each adapter. If you want to use the states of the devices (online, available, reachable etc.) directly to determine the status, enter ' 0 '.", "de": "Hier kann man die Offline-Zeiten jedes Adapters definieren. Wenn die Datenpunkte der Geräte (online, verfügbar, erreichbar etc.) direkt zur Statusermittlung genutzt werden sollen, bitte '0' eingeben.", "ru": "Здесь вы можете определить время автономной работы каждого адаптера. Если вы хотите использовать точки данных устройств (в сети, доступны, доступны и т. д.) непосредственно для определения статуса, введите «0».", "pt": "Aqui você pode definir os tempos offline de cada adaptador. Se você quiser usar os pontos de dados dos dispositivos (online, disponíveis, alcançáveis ​​etc.) diretamente para determinar o status, digite ' 0 '.", "nl": "Hier kunt u de offline tijden van elke adapter definiëren. Wil je de datapunten van de apparaten (online, beschikbaar, bereikbaar etc.) direct gebruiken om de status te bepalen, vul dan '0' in.", "fr": "Ici, vous pouvez définir les heures hors ligne de chaque adaptateur. Si vous souhaitez utiliser directement les points de données des appareils (en ligne, disponibles, joignables, etc.) pour déterminer l'état, entrez ' 0 '.", "it": "Qui puoi definire i tempi offline di ciascun adattatore. Se si desidera utilizzare direttamente i punti dati dei dispositivi (online, disponibili, raggiungibili ecc.) per determinarne lo stato, immettere ' 0 '.", "es": "Aquí puede definir los tiempos fuera de línea de cada adaptador. Si desea utilizar los puntos de datos de los dispositivos (en línea, disponibles, accesibles, etc.) directamente para determinar el estado, ingrese ' 0 '.", "pl": "Tutaj możesz zdefiniować czasy offline każdego adaptera. Jeśli chcesz wykorzystać punkty danych urządzeń (online, dostępne, osiągalne itp.) bezpośrednio do określenia stanu, wpisz „0”.", "uk": "Тут ви можете визначити час автономної роботи кожного адаптера. Якщо ви хочете використовувати точки даних пристроїв (онлайн, доступний, доступний тощо) безпосередньо для визначення статусу, введіть «0».", "zh-cn": "您可以在此处定义每个适配器的离线时间。如果要直接使用设备的数据点(在线、可用、可达等)来确定状态,请输入“0”。"},
42
+ "Here you can define the offline times of each adapter. If you want to use the data points of the devices (online, available, reachable etc.) directly to determine the status, enter '-1'.": {"en": "Here you can define the offline times of each adapter. If you want to use the states of the devices (online, available, reachable etc.) directly to determine the status, enter '-1'.", "de": "Hier gebenkann man die Offline-Zeiten jedes Adapters definieren. Wenn die Datenpunkte der Geräte (online, verfügbar, erreichbar etc.) direkt zur Statusermittlung verwendet werden sollen, '-1' ein.", "ru": "Здесь вы можете определить время автономной работы каждого адаптера. Если вы хотите использовать точки данных устройств (в сети, доступны, доступны и т. д.) непосредственно для определения статуса, введите «-1».", "pt": "Aqui você pode definir os tempos offline de cada adaptador. Se você quiser usar os pontos de dados dos dispositivos (online, disponíveis, alcançáveis ​​etc.) diretamente para determinar o status, digite '-1'.", "nl": "Hier kunt u de offline tijden van elke adapter definiëren. Wil je de datapunten van de apparaten (online, beschikbaar, bereikbaar etc.) direct gebruiken om de status te bepalen, vul dan '-1' in.", "fr": "Ici, vous pouvez définir les heures hors ligne de chaque adaptateur. Si vous souhaitez utiliser directement les points de données des appareils (en ligne, disponibles, joignables, etc.) pour déterminer l'état, entrez '-1'.", "it": "Qui puoi definire i tempi offline di ciascun adattatore. Se si desidera utilizzare direttamente i punti dati dei dispositivi (online, disponibili, raggiungibili ecc.) per determinare lo stato, immettere '-1'.", "es": "Aquí puede definir los tiempos fuera de línea de cada adaptador. Si desea utilizar los puntos de datos de los dispositivos (en línea, disponibles, accesibles, etc.) directamente para determinar el estado, ingrese '-1'.", "pl": "Tutaj możesz zdefiniować czasy offline każdego adaptera. Jeśli chcesz wykorzystać punkty danych urządzeń (online, dostępne, osiągalne itp.) bezpośrednio do określenia stanu, wpisz „-1”.", "uk": "Тут ви можете визначити час автономної роботи кожного адаптера. Якщо ви хочете використовувати точки даних пристроїв (онлайн, доступний, доступний тощо) безпосередньо для визначення статусу, введіть «-1».", "zh-cn": "您可以在此处定义每个适配器的离线时间。如果您想直接使用设备的数据点(在线、可用、可达等)来确定状态,请输入“-1”。"},
43
+ "Here you can define the update interval of the datapoints/lists. For performance reasons, it is not recommended to select a poll value that is too low. Lower than two seconds is not selectable.": {"en": "Here you can define the update interval of the states/lists. For performance reasons, it is not recommended to select a poll value that is too low. Lower than two seconds is not selectable.", "de": "Hier kann man das Aktualisierungsintervall der Datenpunkte/Listen festlegen. Aus Performance-Gründen wird davon abgeraten, einen zu niedrigen Poll-Wert zu wählen. Weniger als zwei Sekunden sind nicht wählbar.", "ru": "Здесь вы можете определить интервал обновления точек данных/списков. Из соображений производительности не рекомендуется выбирать слишком низкое значение опроса. Меньше двух секунд выбрать нельзя.", "pt": "Aqui você pode definir o intervalo de atualização dos pontos de dados/listas. Por motivos de desempenho, não é recomendável selecionar um valor de sondagem muito baixo. Inferior a dois segundos não é selecionável.", "nl": "Hier kunt u het update-interval van de datapunten/lijsten definiëren. Om prestatieredenen wordt het niet aanbevolen om een ​​te lage poll-waarde te selecteren. Lager dan twee seconden kan niet worden geselecteerd.", "fr": "Ici, vous pouvez définir l'intervalle de mise à jour des points de données/listes. Pour des raisons de performances, il est déconseillé de sélectionner une valeur d'interrogation trop faible. Inférieur à deux secondes n'est pas sélectionnable.", "it": "Qui è possibile definire l'intervallo di aggiornamento dei punti dati/elenchi. Per motivi di prestazioni, non è consigliabile selezionare un valore di polling troppo basso. Meno di due secondi non è selezionabile.", "es": "Aquí puede definir el intervalo de actualización de los puntos de datos/listas. Por motivos de rendimiento, no se recomienda seleccionar un valor de sondeo demasiado bajo. Menos de dos segundos no es seleccionable.", "pl": "Tutaj możesz zdefiniować interwał aktualizacji punktów danych/list. Ze względu na wydajność nie zaleca się wybierania zbyt niskiej wartości sondy. Nie można wybrać mniej niż dwie sekundy.", "uk": "Тут ви можете визначити інтервал оновлення точок даних/списків. З міркувань продуктивності не рекомендується вибирати занадто низьке значення опитування. Менше двох секунд вибрати неможливо.", "zh-cn": "您可以在此处定义数据点/列表的更新间隔。出于性能原因,不建议选择太低的轮询值。低于两秒是不可选的。"},
44
44
  "High Priority": { "en": "High Priority", "de": "Hohe Priorität", "ru": "Высокий приоритет", "pt": "Prioridade máxima", "nl": "Hoge prioriteit", "fr": "Haute priorité", "it": "Priorità alta", "es": "Alta prioridad", "pl": "Wysoki priorytet", "uk": "Високий пріоритет", "zh-cn": "高优先级"},
45
45
  "If you like to have for every Adapter an own folder with own data": {"en": "If you like to have for every Adapter an own folder with own data", "de": "Wenn gewünscht, kann für jeden Adapter ein eigener Ordner mit eigenen Daten verwendet werden.", "ru": "Если вы хотите иметь для каждого адаптера собственную папку с собственными данными", "pt": "Se você gosta de ter para cada adaptador uma pasta própria com dados próprios", "nl": "Als je voor elke Adapter een eigen map met eigen gegevens wilt hebben", "fr": "Si vous souhaitez avoir pour chaque adaptateur un dossier avec ses propres données", "it": "Se ti piace avere per ogni Adapter una propria cartella con i propri dati", "es": "Si desea tener para cada adaptador una carpeta propia con datos propios", "pl": "Jeśli chcesz mieć dla każdego adaptera własny folder z własnymi danymi", "uk": "Якщо ви хочете мати для кожного адаптера власну папку з власними даними", "zh-cn": "如果您希望每个适配器都有一个包含自己数据的文件夹"},
46
46
  "Ignor in lists": { "en": "Ignor in lists", "de": "In Listen ignorieren", "ru": "Игнорировать в списках", "pt": "Ignorar nas listas", "nl": "Negeren in lijsten", "fr": "Ignorer dans les listes", "it": "Ignora nelle liste", "es": "Ignorar en listas", "pl": "Ignoruj ​​na listach", "uk": "Ігнорувати в списках", "zh-cn": "在列表中忽略"},
@@ -104,7 +104,7 @@ systemDictionary = {
104
104
  "Other Notification Settings": { "en": "Other Notification Settings", "de": "Andere Benachrichtigungseinstellungen", "ru": "Другие настройки уведомлений", "pt": "Outras configurações de notificação", "nl": "Andere meldingsinstellingen", "fr": "Autres paramètres de notification", "it": "Altre impostazioni di notifica", "es": "Otras configuraciones de notificación", "pl": "Inne ustawienia powiadomień", "uk": "Інші налаштування сповіщень", "zh-cn": "其他通知设置"},
105
105
  "Update the datapoints directly": { "en": "", "de": "Aktualisieren Sie die Datenpunkte direkt", "ru": "Обновляйте точки данных напрямую", "pt": "Atualize os pontos de dados diretamente", "nl": "Werk de datapunten direct bij", "fr": "Mettre à jour les points de données directement", "it": "Aggiorna direttamente i datapoint", "es": "Actualizar los puntos de datos directamente", "pl": "Bezpośrednio aktualizuj punkty danych", "uk": "Оновіть точки даних безпосередньо", "zh-cn": "直接更新数据点"},
106
106
  "Update lists & counts which each statechange of devices": {"en": "Update lists & counts which each statechange of devices", "de": "Aktualisiere Listen und Zählungen, die sich bei jedem Statuswechsel von Geräten ändern", "ru": "Обновление списков и подсчетов при каждом изменении состояния устройств.", "pt": "Listas de atualização e conta qual cada mudança de estado dos dispositivos", "nl": "Update lijsten & tellingen die elke statusverandering van apparaten", "fr": "Mettre à jour les listes et compter chaque changement d'état des appareils", "it": "Aggiorna elenchi e conteggi che ogni stato cambia di dispositivi", "es": "Actualizar listas y recuentos en los que cada estado cambia de dispositivos", "pl": "Aktualizuj listy i liczniki, które powodują każdą zmianę stanu urządzeń", "uk": "Оновлення списків і підрахунок кожної зміни стану пристроїв", "zh-cn": "更新设备每次状态变化的列表和计数"},
107
- "Update datapoints directly": { "en": "Update datapoints directly", "de": "Datenpunkte direkt aktualisieren", "ru": "Обновляйте точки данных напрямую", "pt": "Atualizar pontos de dados diretamente", "nl": "Update datapunten direct", "fr": "Mettre à jour directement les points de données", "it": "Aggiorna direttamente i datapoint", "es": "Actualizar puntos de datos directamente", "pl": "Aktualizuj punkty danych bezpośrednio", "uk": "Оновіть точки даних безпосередньо", "zh-cn": "直接更新数据点"},
107
+ "Update datapoints directly": { "en": "Update states directly", "de": "Datenpunkte direkt aktualisieren", "ru": "Обновляйте точки данных напрямую", "pt": "Atualizar pontos de dados diretamente", "nl": "Update datapunten direct", "fr": "Mettre à jour directement les points de données", "it": "Aggiorna direttamente i datapoint", "es": "Actualizar puntos de datos directamente", "pl": "Aktualizuj punkty danych bezpośrednio", "uk": "Оновіть точки даних безпосередньо", "zh-cn": "直接更新数据点"},
108
108
  "Update lists & counts directly with each statechange of devices": {"en": "Update lists & counts directly with each statechange of devices", "de": "Aktualisieren Sie Listen und Zählungen direkt bei jedem Zustandswechsel von Geräten", "ru": "Обновляйте списки и счетчики непосредственно при каждом изменении состояния устройств.", "pt": "Atualiza listas e contagens diretamente com cada mudança de estado dos dispositivos", "nl": "Update lijsten en tellingen direct bij elke statusverandering van apparaten", "fr": "Mettre à jour les listes et les décomptes directement à chaque changement d'état des appareils", "it": "Aggiorna elenchi e conteggi direttamente con ogni cambio di stato dei dispositivi", "es": "Actualice listas y conteos directamente con cada cambio de estado de los dispositivos", "pl": "Aktualizuj listy i liczniki bezpośrednio przy każdej zmianie stanu urządzeń", "uk": "Оновлюйте списки та підрахунки безпосередньо з кожною зміною стану пристроїв", "zh-cn": "每次设备状态变化时直接更新列表和计数"},
109
109
  "Overview of low battery devices": { "en": "Overview of low battery devices", "de": "Übersicht über schwache Batteriegeräte", "ru": "Обзор устройств с низким зарядом батареи", "pt": "Visão geral de dispositivos com bateria fraca", "nl": "Overzicht apparaten met bijna lege batterij", "fr": "Aperçu des appareils à batterie faible", "it": "Panoramica dei dispositivi con batteria scarica", "es": "Descripción general de los dispositivos con batería baja", "pl": "Przegląd urządzeń o niskim poziomie naładowania baterii", "uk": "Огляд розряджених пристроїв", "zh-cn": "低电量设备概述"},
110
110
  "Get a regular message with an overview all low battery devices": {"en": "Get a regular message with an overview all low battery devices", "de": "Erhalten Sie eine regelmäßige Nachricht mit einer Übersicht aller schwachen Batteriegeräte", "ru": "Получайте регулярное сообщение с обзором всех устройств с низким зарядом батареи", "pt": "Receba uma mensagem regular com uma visão geral de todos os dispositivos com bateria fraca", "nl": "Ontvang regelmatig een bericht met een overzicht van alle bijna lege apparaten", "fr": "Recevez un message régulier avec un aperçu de tous les appareils à batterie faible", "it": "Ricevi un messaggio regolare con una panoramica di tutti i dispositivi con batteria scarica", "es": "Reciba un mensaje regular con una descripción general de todos los dispositivos con batería baja", "pl": "Otrzymuj regularne wiadomości z przeglądem wszystkich urządzeń o niskim poziomie baterii", "uk": "Отримуйте регулярне повідомлення з оглядом усіх пристроїв із розрядженим акумулятором", "zh-cn": "获取包含所有低电量设备概览的常规消息"},
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "device-watcher",
4
- "version": "2.9.7",
4
+ "version": "2.9.9",
5
5
  "news": {
6
+ "2.9.9": {
7
+ "en": "Fixed: Write log message of selected adapters only on startup",
8
+ "de": "Fixed: Log-Nachricht von ausgewählten Adaptern nur beim Start schreiben",
9
+ "ru": "Исправлено: Напишите лог-сообщение выбранных адаптеров только при запуске",
10
+ "pt": "Corrigido: Escreva a mensagem de log de adaptadores selecionados apenas na inicialização",
11
+ "nl": "Vertaling:",
12
+ "fr": "Correction : Écrivez un message de journal des adaptateurs sélectionnés uniquement au démarrage",
13
+ "it": "Risolto: Scrivi il messaggio di registro degli adattatori selezionati solo all'avvio",
14
+ "es": "Fijo: Escriba el mensaje de registro de adaptadores seleccionados sólo en el inicio",
15
+ "pl": "Fixed: Write log message to selected adapter tylko na początku",
16
+ "uk": "Виправлено: Напишіть лог повідомлення вибраних адаптерів тільки на запуску",
17
+ "zh-cn": "九. 固定:选择的适应者在开端的礼拜信息"
18
+ },
19
+ "2.9.8": {
20
+ "en": "Fixed: Added additional check for instance states [#262](https://github.com/ciddi89/ioBroker.device-watcher/issues/262)\nFixed: Execute adapter even if no device adapter is selected",
21
+ "de": "Behoben: Zusätzliche Überprüfung der Instanz Zustände [#262](https://github.com/ciddi89/ioBroker.device-watcher/issues/262)\nFix: Adapter ausführen, auch wenn keine Geräte/Services gewählt wurde",
22
+ "ru": "Исправлено: Добавлена дополнительная проверка для штатов [#262](https://github.com/ciddi89/ioBroker.device-watcher/issues/262)\nИсправлено: Выполнить адаптер, даже если не выбран адаптер устройства",
23
+ "pt": "Corrigido: Adicionado check adicional para estados de instância [#262](https://github.com/ciddi89/ioBroker.device-watcher/issues/262)\nCorrigido: Executar adaptador mesmo que nenhum adaptador de dispositivo seja selecionado",
24
+ "nl": "Vertaling:\nExecute adapter zelfs als er geen apparaat wordt geselecteerd",
25
+ "fr": "Correction : Ajout d ' un contrôle supplémentaire par exemple : [#262](https://github.com/ciddi89/ioBroker.device-watcher/issues/262)\nFixé: Adaptateur execute même si aucun adaptateur de dispositif n'est sélectionné",
26
+ "it": "Fisso: Aggiunto il controllo supplementare per gli stati di esempio [#262](https://github.com/ciddi89/ioBroker.device-watcher/issues/262)\nFisso: Esegui l'adattatore anche se non viene selezionato nessun adattatore del dispositivo",
27
+ "es": "Fijación: Agregado cheque adicional por ejemplo estados [#262](https://github.com/ciddi89/ioBroker.device-watcher/issues/262)\nFijo: Ejecutar adaptador incluso si no se selecciona un adaptador de dispositivo",
28
+ "pl": "Fixed: Added additional check for example states #262(https:/github.com/ciddi89/ioBroker,device-watcher/issues/262)\nFixed: Dostosowanie Execute nawet jeśli nie doda się adapter urządzenia",
29
+ "uk": "Виправлено: Додана додаткова перевірка станів екземпляра [#262](https://github.com/ciddi89/ioBroker.device-watcher/issues/262)\nВиправлено: Виконувати адаптер навіть якщо пристрій не вибрано",
30
+ "zh-cn": "固定地点:添加更多检查,例如[第262](http://github.com/ciddi89/ioBroker.device-watcher/issues/262)\n固定:假肢变器,即使没有装置的配件被选用"
31
+ },
6
32
  "2.9.7": {
7
33
  "en": "Added: Support for Wifilight\nFixed: Multiple messages if Sonoff devices reachable [#244](https://github.com/ciddi89/ioBroker.device-watcher/issues/244)",
8
34
  "de": "Hinzugefügt: Unterstützung für Wifilight\nBehoben: Mehrere Meldungen, wenn Sonoff-Geräte erreichbar sind [#244](https://github.com/ciddi89/ioBroker.device-watcher/issues/244)",
@@ -67,32 +93,6 @@
67
93
  "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",
68
94
  "uk": "Dropped: Node v14.x підтримка і додано: Підтримка Node v20.x\nВиправлено: Останній бачив Ping пристроїв\nВиправлено: З'єднання повідомлень пристроїв без точки з'єднання\nВиправлено: Дані та списки екземплярів не освіжали правильно\nВиправлено: Tradfri держава живий повинен бути помилковим для пристрою автономний стан",
69
95
  "zh-cn": "增 编: 无de v20.x 支持\nFixed:最后可见的装置\n固定:无线数据识别装置的识别信息\n固定:案例的数据和清单正确地予以驳斥。\n固定:Tdfri State的活活性必须为线性州的装置作假"
70
- },
71
- "2.9.2": {
72
- "en": "Fixed: Instance name in schedule notifications for faulty instances\nFixed: Ignore null values in update datapoints of devices\nUpdated: Dependencies",
73
- "de": "Behoben: Instancenamen in Schedule Benachrichtigungen für Fehlerhafte Instanzen\nBehoben: Nullwerte in Update-Datenpunkten von Geräten ignorieren\nAktualisiert: Abhängigkeiten",
74
- "ru": "Исправлено: Наименование Instance в расписании уведомлений для неисправных инстанций\nИсправлено: Игнорировать значения null в обновлении точек данных устройств\nОбновлено: зависимости",
75
- "pt": "Corrigido: Nome da instância em notificações de horário para casos defeituosos\nCorrigido: Ignorar valores nulos em datapoints de atualização de dispositivos\nAtualizado: Dependências",
76
- "nl": "Vertaling:\nIgnore noll waarden in updategegevens van apparaten\nOpgepast",
77
- "fr": "Correction : Nom d'instance dans les notifications horaires pour les cas défectueux\nFixed: Ignore les valeurs nulles dans les points de données de mise à jour des dispositifs\nActualisé : dépenses",
78
- "it": "Risolto: nome dell'istanza nelle notifiche di pianificazione per istanze difettose\nRisolto: ignorare i valori null nell'aggiornamento dei datapoint dei dispositivi\nAggiornato: Dipendenze",
79
- "es": "Fijo: Nombre de la instalación en notificaciones programadas para casos defectuosos\nFijo: Ignorar los valores nulos en los puntos de datos actualizados de los dispositivos\nActualizado: Dependencias",
80
- "pl": "Fixed: Instance in schedule notifications for faulty instances (ang.)\nFix: Ignore null value in updated datapoints (ang.)\nZastrzeżenie: Zależność",
81
- "uk": "Виправлено: Ім'я користувача в розкладі повідомлень для несправних екземплярів\nВиправлено: значення Ignore null в оновленні точок даних пристроїв\nОновлено: Залежності",
82
- "zh-cn": "固定:在通知过失事件时的名称\nFixed: Ignore在更新装置数据点时丧失价值\n更新:属地"
83
- },
84
- "2.9.1": {
85
- "en": "Removed: Function for error handling (not neccessary)",
86
- "de": "Entfernt: Funktion zur Fehlerbehandlung (nicht erforderlich)",
87
- "ru": "Удалено: функция обработки ошибок (не обязательно)",
88
- "pt": "Removido: Função para manipulação de erros (não necessário)",
89
- "nl": "Verwijderd: Functie voor fouten omgaan met (niet negatief)",
90
- "fr": "Supprimé : Fonction pour la manipulation d'erreurs (pas neccessaire)",
91
- "it": "Rimosso: Funzione per la gestione degli errori (non neccessario)",
92
- "es": "Retirado: Función para el manejo de errores (no es necesario)",
93
- "pl": "Removed: Funkcje służące do obsługi błędów (nie wymagania)",
94
- "uk": "Видалити: Функція для обробки помилок (необхідний)",
95
- "zh-cn": "删除:处理错误(未作必要说明)的职能"
96
96
  }
97
97
  },
98
98
  "titleLang": {
package/main.js CHANGED
@@ -220,6 +220,7 @@ class DeviceWatcher extends utils.Adapter {
220
220
  };
221
221
 
222
222
  try {
223
+ // create list with selected adapters for monitor devices
223
224
  for (const [id] of Object.entries(arrApart)) {
224
225
  if (this.configSetAdapter[id]) {
225
226
  this.selAdapter.push(arrApart[id]);
@@ -227,18 +228,17 @@ class DeviceWatcher extends utils.Adapter {
227
228
  }
228
229
  }
229
230
 
230
- //Check if an Adapter is selected.
231
+ // Check if an adapter to monitor devices is selected.
231
232
  if (this.adapterSelected.length >= 1) {
232
233
  // show list in debug log
233
234
  this.log.debug(JSON.stringify(this.selAdapter));
234
235
 
235
- this.log.info(`Number of selected adapters: ${this.adapterSelected.length}. Loading data from: ${this.adapterSelected.join(', ')} ...`);
236
+ this.log.info(`Number of selected adapters to monitor devices: ${this.adapterSelected.length}. Loading data from: ${this.adapterSelected.join(', ')} ...`);
236
237
  } else {
237
- this.log.warn(`No adapter selected. Please check the instance configuration!`);
238
- return; // cancel run if no adapter is selected
238
+ this.log.info(`No adapters selected to monitor devices.`);
239
239
  }
240
240
 
241
- //create Blacklist
241
+ // create Blacklist
242
242
  await this.createBlacklist();
243
243
 
244
244
  // create user defined list with time of error for instances
@@ -382,10 +382,11 @@ class DeviceWatcher extends utils.Adapter {
382
382
  let isLowBatValue;
383
383
  let instanceStatusRaw;
384
384
  let oldAdapterUpdatesCounts;
385
- let oldIsHealthyValue;
386
385
 
387
386
  try {
388
- // adapter updates
387
+ /*=============================================
388
+ = Adapter Updates =
389
+ =============================================*/
389
390
  if (id.endsWith('updatesJson')) {
390
391
  oldAdapterUpdatesCounts = this.countAdapterUpdates;
391
392
  await this.getAdapterUpdateData(id);
@@ -404,36 +405,61 @@ class DeviceWatcher extends utils.Adapter {
404
405
  }
405
406
  }
406
407
 
407
- // instances
408
+ /*=============================================
409
+ = Instances =
410
+ =============================================*/
408
411
  for (const [instanceID, instanceData] of this.listInstanceRaw) {
412
+ const checkInstance = async (instanceID, instanceData) => {
413
+ if (!instanceData.checkIsRunning) {
414
+ instanceData.checkIsRunning = true;
415
+ instanceStatusRaw = await this.setInstanceStatus(instanceData.instanceMode, instanceData.schedule, instanceID);
416
+ instanceData.isAlive = instanceStatusRaw[0];
417
+ instanceData.isHealthy = instanceStatusRaw[1];
418
+ instanceData.status = instanceStatusRaw[2];
419
+ instanceData.checkIsRunning = false;
420
+ return;
421
+ }
422
+ };
423
+
409
424
  switch (id) {
410
425
  case `system.adapter.${instanceID}.alive`:
411
- case `system.adapter.${instanceID}.connected`:
412
- case `${instanceID}.info.connection`:
413
- if (!instanceData.checkIsRunning) {
414
- instanceData.checkIsRunning = true;
415
- oldIsHealthyValue = instanceData.isHealthy;
416
- instanceStatusRaw = await this.setInstanceStatus(instanceData.instanceMode, instanceData.schedule, instanceID);
417
- instanceData.isAlive = instanceStatusRaw[0];
418
- instanceData.isHealthy = instanceStatusRaw[1];
419
- instanceData.status = instanceStatusRaw[2];
420
- instanceData.checkIsRunning = false;
421
- if (oldIsHealthyValue === instanceData.isHealthy) continue;
426
+ if (state.val !== instanceData.isAlive) {
427
+ await checkInstance(instanceID, instanceData);
422
428
  // send message when instance was deactivated
423
429
  if (this.config.checkSendInstanceDeactivatedMsg && !instanceData.isAlive) {
424
430
  if (this.blacklistInstancesNotify.includes(instanceID)) continue;
425
431
  await this.sendStateNotifications('deactivatedInstance', instanceID);
426
432
  }
433
+ }
434
+
435
+ break;
436
+ case `system.adapter.${instanceID}.connected`:
437
+ if (state.val !== instanceData.isConnectedHost && instanceData.isAlive) {
438
+ await checkInstance(instanceID, instanceData);
439
+ // send message when instance has an error
440
+ if (this.config.checkSendInstanceFailedMsg && !instanceData.isHealthy && instanceData.isAlive) {
441
+ if (this.blacklistInstancesNotify.includes(instanceID)) continue;
442
+ await this.sendStateNotifications('errorInstance', instanceID);
443
+ }
444
+ }
445
+ break;
446
+ case `${instanceID}.info.connection`:
447
+ if (state.val !== instanceData.isConnectedDevice && instanceData.isAlive) {
448
+ await checkInstance(instanceID, instanceData);
427
449
  // send message when instance has an error
428
- if (this.config.checkSendInstanceFailedMsg && instanceData.isAlive && !instanceData.isHealthy) {
450
+ if (this.config.checkSendInstanceFailedMsg && !instanceData.isHealthy && instanceData.isAlive) {
429
451
  if (this.blacklistInstancesNotify.includes(instanceID)) continue;
430
452
  await this.sendStateNotifications('errorInstance', instanceID);
431
453
  }
432
454
  }
455
+
433
456
  break;
434
457
  }
435
458
  }
436
459
 
460
+ /*=============================================
461
+ = Devices =
462
+ =============================================*/
437
463
  for (const [device, deviceData] of this.listAllDevicesRaw) {
438
464
  // On statechange update available datapoint
439
465
  switch (id) {
@@ -661,6 +687,9 @@ class DeviceWatcher extends utils.Adapter {
661
687
  async main() {
662
688
  this.log.debug(`Function started: ${this.main.name}`);
663
689
 
690
+ // cancel run if no adapter is selected
691
+ if (this.adapterSelected.length === 0) return;
692
+
664
693
  // fill counts and lists of all selected adapter
665
694
  try {
666
695
  for (let i = 0; i < this.selAdapter.length; i++) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.device-watcher",
3
- "version": "2.9.7",
3
+ "version": "2.9.9",
4
4
  "description": "Watchdog for devices",
5
5
  "author": {
6
6
  "name": "Christian Behrends",
@@ -28,33 +28,33 @@
28
28
  "@iobroker/adapter-core": "^3.0.4"
29
29
  },
30
30
  "devDependencies": {
31
- "@alcalzone/release-script": "^3.6.0",
32
- "@alcalzone/release-script-plugin-iobroker": "^3.6.0",
33
- "@alcalzone/release-script-plugin-license": "^3.5.9",
34
- "@alcalzone/release-script-plugin-manual-review": "^3.5.9",
31
+ "@alcalzone/release-script": "^3.7.0",
32
+ "@alcalzone/release-script-plugin-iobroker": "^3.7.0",
33
+ "@alcalzone/release-script-plugin-license": "^3.7.0",
34
+ "@alcalzone/release-script-plugin-manual-review": "^3.7.0",
35
35
  "@iobroker/adapter-dev": "^1.2.0",
36
36
  "@iobroker/testing": "^4.1.0",
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",
43
- "@types/sinon": "^10.0.16",
44
- "@types/sinon-chai": "^3.2.11",
37
+ "@types/chai": "^4.3.11",
38
+ "@types/chai-as-promised": "^7.1.8",
39
+ "@types/mocha": "^10.0.6",
40
+ "@types/node": "^20.10.1",
41
+ "@types/node-schedule": "^2.1.4",
42
+ "@types/proxyquire": "^1.3.31",
43
+ "@types/sinon": "^17.0.2",
44
+ "@types/sinon-chai": "^3.2.12",
45
45
  "chai": "^4.3.10",
46
46
  "chai-as-promised": "^7.1.1",
47
47
  "cron-parser": "^4.9.0",
48
- "eslint": "^8.52.0",
48
+ "eslint": "^8.54.0",
49
49
  "eslint-config-prettier": "^9.0.0",
50
50
  "eslint-plugin-prettier": "^5.0.1",
51
51
  "mocha": "^10.2.0",
52
52
  "node-schedule": "^2.1.1",
53
- "prettier": "^3.0.3",
53
+ "prettier": "^3.1.0",
54
54
  "proxyquire": "^2.1.3",
55
- "sinon": "^17.0.0",
55
+ "sinon": "^17.0.1",
56
56
  "sinon-chai": "^3.7.0",
57
- "typescript": "~5.2.2"
57
+ "typescript": "~5.3.2"
58
58
  },
59
59
  "main": "main.js",
60
60
  "files": [