From 14347661e80fc377b8fd8ae17c9893c1cafd3ce9 Mon Sep 17 00:00:00 2001 From: dirkhe Date: Sat, 4 Jan 2025 17:36:54 +0100 Subject: [PATCH] some fixes in UI Setting --- README.md | 6 +- admin/i18n/de/translations.json | 4 +- admin/i18n/en/translations.json | 4 +- admin/i18n/es/translations.json | 4 +- admin/i18n/fr/translations.json | 4 +- admin/i18n/it/translations.json | 4 +- admin/i18n/nl/translations.json | 4 +- admin/i18n/pl/translations.json | 4 +- admin/i18n/pt/translations.json | 4 +- admin/i18n/ru/translations.json | 4 +- admin/i18n/zh-cn/translations.json | 4 +- admin/index_m.html | 55 ++- admin/words.js | 2 + io-package.json | 525 ++++++++++++++++------------- package-lock.json | 402 ++++++++++++---------- package.json | 1 + 16 files changed, 574 insertions(+), 457 deletions(-) diff --git a/README.md b/README.md index 250b2f7d..eac2dd19 100644 --- a/README.md +++ b/README.md @@ -333,7 +333,11 @@ The supported commands are: ### **WORK IN PROGRESS** * () --> -### 4.3.0 (2025-01-02) +### **WORK IN PROGRESS** +* (deher) token from config now encrypted, user has to re-choose device in settings +* (deher) some fixes in UI Setting + +### 4.3.0 (2025-01-02) rejected * (JimmyBondi) added dreame error messages * (simatec) responsive design added * (deher) update dependecies and linting diff --git a/admin/i18n/de/translations.json b/admin/i18n/de/translations.json index 7a5d7458..798e06dd 100644 --- a/admin/i18n/de/translations.json +++ b/admin/i18n/de/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "MiHome-Vakuum Adaptereinstellungen", "Monday": "Montag", "Own port:": "Eigener Port:", + "Please get Devices first": "Bitte holen Sie sich zuerst Geräte", "Resume paused zonecleaning with start button": "Zonenreinigung nach Pause fortsetzen", "Robot images": "Roboterbilder", "Saturday": "Samstag", @@ -28,6 +29,7 @@ "add a state for Alexa": "Füge einen Zustand für Alexa hinzu", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "Timer hinzufügen und Raumkanäle direkt auswählen und/oder Räume auswählen, um zugewiesene Raumkanäle zu finden", "additional settings": "zusätzliche Einstellungen", + "choose Device": "Wählen Sie Gerät", "clean Room": "reinige Zimmer", "clean assigned rooms": "zugewiesene Zimmer reinigen", "clean water Filter": "säubere Wasser Filter", @@ -52,4 +54,4 @@ "waiting position": "Warteposition", "water box installed": "Wischeinheit installiert", "water filter reset": "Wasser Filter zurücksetzen" -} +} \ No newline at end of file diff --git a/admin/i18n/en/translations.json b/admin/i18n/en/translations.json index 73034dec..c59400f3 100644 --- a/admin/i18n/en/translations.json +++ b/admin/i18n/en/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "MiHome-vacuum adapter settings", "Monday": "Monday", "Own port:": "Own port:", + "Please get Devices first": "Please get Devices first", "Resume paused zonecleaning with start button": "Resume paused zonecleaning with start button", "Robot images": "Robot images", "Saturday": "Saturday", @@ -28,6 +29,7 @@ "add a state for Alexa": "add a state for Alexa", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels", "additional settings": "additional settings", + "choose Device": "choose Device", "clean Room": "clean Room", "clean assigned rooms": "clean assigned rooms", "clean water Filter": "clean water Filter", @@ -52,4 +54,4 @@ "waiting position": "waiting position", "water box installed": "water box installed", "water filter reset": "water filter reset" -} +} \ No newline at end of file diff --git a/admin/i18n/es/translations.json b/admin/i18n/es/translations.json index 553846d4..aabb61fc 100644 --- a/admin/i18n/es/translations.json +++ b/admin/i18n/es/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "Configuración del adaptador MiHome-vacuum", "Monday": "lunes", "Own port:": "Puerto propio:", + "Please get Devices first": "Obtenga primero los dispositivos", "Resume paused zonecleaning with start button": "Reanudar la zona de limpieza en pausa con el botón de inicio", "Robot images": "Imágenes de robot", "Saturday": "sábado", @@ -28,6 +29,7 @@ "add a state for Alexa": "agregar un estado para Alexa", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "agregue temporizador y elija canales de sala directamente y / o elija salas, que encuentra los canales de sala asignados", "additional settings": "ajustes adicionales", + "choose Device": "elegir dispositivo", "clean Room": "Habitación limpia", "clean assigned rooms": "limpiar habitaciones asignadas", "clean water Filter": "filtro de agua limpia", @@ -52,4 +54,4 @@ "waiting position": "posición de espera", "water box installed": "caja de agua instalada", "water filter reset": "restablecimiento del filtro de agua" -} +} \ No newline at end of file diff --git a/admin/i18n/fr/translations.json b/admin/i18n/fr/translations.json index 4d02449c..6ca5a1f6 100644 --- a/admin/i18n/fr/translations.json +++ b/admin/i18n/fr/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "MiHome-paramètres d'adaptateur de vide", "Monday": "Lundi", "Own port:": "Propre port:", + "Please get Devices first": "Veuillez d'abord vous procurer des appareils", "Resume paused zonecleaning with start button": "Reprendre le nettoyage en mode pause avec le bouton Démarrer", "Robot images": "Images de robots", "Saturday": "samedi", @@ -28,6 +29,7 @@ "add a state for Alexa": "ajouter un état pour Alexa", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "ajouter une minuterie et choisir directement les canaux de pièce et / ou choisir les chambres, qui trouve les canaux de pièce attribués", "additional settings": "paramètres additionnels", + "choose Device": "choisissez Appareil", "clean Room": "chambre propre", "clean assigned rooms": "nettoyer les chambres attribuées", "clean water Filter": "Filtre à eau propre", @@ -52,4 +54,4 @@ "waiting position": "position d'attente", "water box installed": "boîte à eau installée", "water filter reset": "réinitialisation du filtre à eau" -} +} \ No newline at end of file diff --git a/admin/i18n/it/translations.json b/admin/i18n/it/translations.json index ef90a1c6..9caa0449 100644 --- a/admin/i18n/it/translations.json +++ b/admin/i18n/it/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "Impostazioni dell'adattatore per vuoto MiHome", "Monday": "Lunedi", "Own port:": "Porto proprio:", + "Please get Devices first": "Per favore procurati prima i dispositivi", "Resume paused zonecleaning with start button": "Riprendi zonecleaning in pausa con il pulsante di avvio", "Robot images": "Immagini di robot", "Saturday": "Sabato", @@ -28,6 +29,7 @@ "add a state for Alexa": "aggiungi uno stato per Alexa", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "aggiungi il timer e scegli i canali room direttamente e / o scegli room, che trova i canali room assegnati", "additional settings": "altre impostazioni", + "choose Device": "scegli Dispositivo", "clean Room": "stanza pulita", "clean assigned rooms": "camere pulite assegnate", "clean water Filter": "filtro per acqua pulita", @@ -52,4 +54,4 @@ "waiting position": "posizione di attesa", "water box installed": "scatola dell'acqua installata", "water filter reset": "reset del filtro dell'acqua" -} +} \ No newline at end of file diff --git a/admin/i18n/nl/translations.json b/admin/i18n/nl/translations.json index 6853271c..a185c068 100644 --- a/admin/i18n/nl/translations.json +++ b/admin/i18n/nl/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "MiHome-vacuüm adapterinstellingen", "Monday": "maandag", "Own port:": "Eigen poort:", + "Please get Devices first": "Koop eerst Apparaten", "Resume paused zonecleaning with start button": "Pauzeer zonecleaning opnieuw met de startknop", "Robot images": "Robotafbeeldingen", "Saturday": "zaterdag", @@ -28,6 +29,7 @@ "add a state for Alexa": "voeg een staat toe voor Alexa", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "voeg de timer toe en kies direct kamerkanalen en / of kies kamers, die toegewezen kamerkanalen vinden", "additional settings": "aanvullende instellingen", + "choose Device": "kies Apparaat", "clean Room": "schone kamer", "clean assigned rooms": "schone toegewezen kamers", "clean water Filter": "schoon waterfilter", @@ -52,4 +54,4 @@ "waiting position": "wachtpositie", "water box installed": "waterbak geïnstalleerd", "water filter reset": "waterfilter reset" -} +} \ No newline at end of file diff --git a/admin/i18n/pl/translations.json b/admin/i18n/pl/translations.json index 1943bc3c..45c39da4 100644 --- a/admin/i18n/pl/translations.json +++ b/admin/i18n/pl/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "Ustawienia adaptera MiHome-vacuum", "Monday": "Poniedziałek", "Own port:": "Własny port:", + "Please get Devices first": "Najpierw zdobądź Urządzenia", "Resume paused zonecleaning with start button": "Wznów wstrzymanie procesu oczyszczania za pomocą przycisku Start", "Robot images": "Obrazy robotów", "Saturday": "Sobota", @@ -28,6 +29,7 @@ "add a state for Alexa": "dodaj stan dla Alexy", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "dodaj zegar i wybierz kanały pokojowe bezpośrednio i / lub wybierz pokoje, które wyszukają przypisane kanały pokojowe", "additional settings": "dodatkowe ustawienia", + "choose Device": "wybierz Urządzenie", "clean Room": "czysty pokój", "clean assigned rooms": "posprzątaj przydzielone pokoje", "clean water Filter": "Filtr czystej wody", @@ -52,4 +54,4 @@ "waiting position": "pozycja oczekiwania", "water box installed": "zainstalowany pojemnik na wodę", "water filter reset": "reset filtra wody" -} +} \ No newline at end of file diff --git a/admin/i18n/pt/translations.json b/admin/i18n/pt/translations.json index 451f0110..36b3a355 100644 --- a/admin/i18n/pt/translations.json +++ b/admin/i18n/pt/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "Configurações do adaptador MiHome-vácuo", "Monday": "Segunda-feira", "Own port:": "Porta própria:", + "Please get Devices first": "Obtenha os dispositivos primeiro", "Resume paused zonecleaning with start button": "Retomar o zonecleaning pausado com o botão Iniciar", "Robot images": "Imagens de robô", "Saturday": "Sábado", @@ -28,6 +29,7 @@ "add a state for Alexa": "adicione um estado para Alexa", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "adicione temporizador e escolha os canais da sala diretamente e / ou escolha as salas, que encontram os canais de sala atribuídos", "additional settings": "Configurações adicionais", + "choose Device": "escolha Dispositivo", "clean Room": "quarto limpo", "clean assigned rooms": "limpar quartos designados", "clean water Filter": "filtro de agua potável", @@ -52,4 +54,4 @@ "waiting position": "posição de espera", "water box installed": "caixa de água instalada", "water filter reset": "redefinição do filtro de água" -} +} \ No newline at end of file diff --git a/admin/i18n/ru/translations.json b/admin/i18n/ru/translations.json index 38946ccb..df9a6eca 100644 --- a/admin/i18n/ru/translations.json +++ b/admin/i18n/ru/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "Настройки адаптера MiHome-vacuum", "Monday": "понедельник", "Own port:": "Собственный порт:", + "Please get Devices first": "Сначала приобретите устройства", "Resume paused zonecleaning with start button": "Возобновление приостановки zonecleaning с кнопкой запуска", "Robot images": "Робот изображения", "Saturday": "суббота", @@ -28,6 +29,7 @@ "add a state for Alexa": "добавить информацию о пользователе Alexa", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "добавить таймер и выбрать каналы номеров напрямую и / или выбрать номера, которые находят назначенные каналы номеров", "additional settings": "дополнительные настройки", + "choose Device": "выберите Устройство", "clean Room": "чистая комната", "clean assigned rooms": "чистые назначенные комнаты", "clean water Filter": "Фильтр чистой воды", @@ -52,4 +54,4 @@ "waiting position": "позиция ожидания", "water box installed": "установлен водяной бокс", "water filter reset": "сброс фильтра воды" -} +} \ No newline at end of file diff --git a/admin/i18n/zh-cn/translations.json b/admin/i18n/zh-cn/translations.json index 192b8d44..d2ab3d1b 100644 --- a/admin/i18n/zh-cn/translations.json +++ b/admin/i18n/zh-cn/translations.json @@ -12,6 +12,7 @@ "MiHome-vacuum adapter settings": "MiHome真空适配器设置", "Monday": "星期一", "Own port:": "自己的港口:", + "Please get Devices first": "请先获取设备", "Resume paused zonecleaning with start button": "使用开始按钮恢复暂停的区域清理", "Robot images": "机器人图像", "Saturday": "星期六", @@ -28,6 +29,7 @@ "add a state for Alexa": "为Alexa添加状态", "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": "添加计时器并直接选择房间频道和/或选择房间,以查找分配的房间频道", "additional settings": "其他设置", + "choose Device": "选择设备", "clean Room": "整理房间", "clean assigned rooms": "清洁分配的房间", "clean water Filter": "净水过滤器", @@ -52,4 +54,4 @@ "waiting position": "等待位置", "water box installed": "水箱安装", "water filter reset": "滤水器重置" -} +} \ No newline at end of file diff --git a/admin/index_m.html b/admin/index_m.html index 1a5f2960..337d60e9 100644 --- a/admin/index_m.html +++ b/admin/index_m.html @@ -183,8 +183,8 @@ $('.hidden').hide(); //soad selection list - console.log('sett_' + JSON.stringify(settings)) - loadSelect(settings['MiDevice']) + //console.log('sett_' + JSON.stringify(settings)) + //loadSelect(settings['MiDevice']) settings.pingInterval = parseInt(settings.pingInterval / 1000, 10) settings.wifiInterval = parseInt(settings.wifiInterval / 1000, 10) curToken = settings.token; @@ -207,14 +207,13 @@ onChange(); }); } else { - if ($key.attr('id') === 'devices') { - + if ( $key.data("store") != 'no') { + $key.val(settings[key]).change(function () { + onChange(); + }).keyup(function () { + onChange(); + }); } - $key.val(settings[key]).change(function () { - onChange(); - }).keyup(function () { - onChange(); - }); } @@ -248,10 +247,10 @@ // wenn device selection changed. $('#devices').change(function () { - let tmp = JSON.parse($(this).val()); + let tmp = JSON.parse($(this).val() || {}); console.log("changed....devices" + $(this).val()) - setValue('token', tmp.token, onChange); - setValue('ip', tmp.localip, onChange); + setValue('token', tmp.token || '', onChange); + setValue('ip', tmp.localip || '', onChange); }); $('#getDevices').on('click', function () { @@ -268,7 +267,7 @@ let pass = $('#password').val(); let user = $('#email').val(); let server = $('#server').val(); - console.log("send to..." + user + " server: " + server); + //console.log("send to..." + user + " server: " + server); if (typeof (server) == 'undefinded' || server == '') { $getDevices.removeClass('disabled'); @@ -283,7 +282,7 @@ server: server }, function (result) { - console.log(JSON.stringify(result)); + //console.log(JSON.stringify(result)); $getDevices.removeClass('disabled'); $('#loader1').addClass('seenot'); @@ -300,7 +299,7 @@ rawdevices = arr; let text = ""; - setValue('MiDevice', JSON.stringify(arr), onChange); + setValue('MiDevice', JSON.stringify(arr)); arr.forEach(function (entry) { text += "' + text).select(); }); }); @@ -449,19 +448,11 @@ function setValue(key, value, onChange) { var $key = $('#' + key + '.value'); if ($key.attr('type') === 'checkbox') { - $key.prop('checked', value).on('change', function () { - onChange(); - }); + $key.prop('checked', value); } else { - $key.val(value).on('change', function () { - if ($(this).attr('id') === 'type') { - showHideSettings(); - } - onChange(); - }).on('keyup', function () { - onChange(); - }); + $key.val(value); } + $key.trigger('change') } function save(callback) { @@ -500,6 +491,8 @@ return showMessage(_('same start time of 2 timer not possible')); timerList[name] = timer } + delete obj.devices; + delete obj.MiDevice socket.emit('getForeignStates', namespace + 'timer.*', function (err, timerStates) { if (!err && timerStates) { @@ -630,7 +623,7 @@ -
+
@@ -703,7 +696,7 @@
Cloud login
- @@ -721,7 +714,7 @@
manuell settings
@@ -894,7 +887,7 @@
add timer and choose room channels directly and/or
- + \ No newline at end of file diff --git a/admin/words.js b/admin/words.js index 819f5d03..999fcc3f 100644 --- a/admin/words.js +++ b/admin/words.js @@ -15,6 +15,7 @@ systemDictionary = { "MiHome-vacuum adapter settings": { "en": "MiHome-vacuum adapter settings", "de": "MiHome-Vakuum Adaptereinstellungen", "ru": "Настройки адаптера MiHome-vacuum", "pt": "Configurações do adaptador MiHome-vácuo", "nl": "MiHome-vacuüm adapterinstellingen", "fr": "MiHome-paramètres d'adaptateur de vide", "it": "Impostazioni dell'adattatore per vuoto MiHome", "es": "Configuración del adaptador MiHome-vacuum", "pl": "Ustawienia adaptera MiHome-vacuum", "zh-cn": "MiHome真空适配器设置"}, "Monday": { "en": "Monday", "de": "Montag", "ru": "понедельник", "pt": "Segunda-feira", "nl": "maandag", "fr": "Lundi", "it": "Lunedi", "es": "lunes", "pl": "Poniedziałek", "zh-cn": "星期一"}, "Own port:": { "en": "Own port:", "de": "Eigener Port:", "ru": "Собственный порт:", "pt": "Porta própria:", "nl": "Eigen poort:", "fr": "Propre port:", "it": "Porto proprio:", "es": "Puerto propio:", "pl": "Własny port:", "zh-cn": "自己的港口:"}, + "Please get Devices first": { "en": "Please get Devices first", "de": "Bitte holen Sie sich zuerst Geräte", "ru": "Сначала приобретите устройства", "pt": "Obtenha os dispositivos primeiro", "nl": "Koop eerst Apparaten", "fr": "Veuillez d'abord vous procurer des appareils", "it": "Per favore procurati prima i dispositivi", "es": "Obtenga primero los dispositivos", "pl": "Najpierw zdobądź Urządzenia", "zh-cn": "请先获取设备"}, "Resume paused zonecleaning with start button": {"en": "Resume paused zonecleaning with start button", "de": "Zonenreinigung nach Pause fortsetzen", "ru": "Возобновление приостановки zonecleaning с кнопкой запуска", "pt": "Retomar o zonecleaning pausado com o botão Iniciar", "nl": "Pauzeer zonecleaning opnieuw met de startknop", "fr": "Reprendre le nettoyage en mode pause avec le bouton Démarrer", "it": "Riprendi zonecleaning in pausa con il pulsante di avvio", "es": "Reanudar la zona de limpieza en pausa con el botón de inicio", "pl": "Wznów wstrzymanie procesu oczyszczania za pomocą przycisku Start", "zh-cn": "使用开始按钮恢复暂停的区域清理"}, "Robot images": { "en": "Robot images", "de": "Roboterbilder", "ru": "Робот изображения", "pt": "Imagens de robô", "nl": "Robotafbeeldingen", "fr": "Images de robots", "it": "Immagini di robot", "es": "Imágenes de robot", "pl": "Obrazy robotów", "zh-cn": "机器人图像"}, "Saturday": { "en": "Saturday", "de": "Samstag", "ru": "суббота", "pt": "Sábado", "nl": "zaterdag", "fr": "samedi", "it": "Sabato", "es": "sábado", "pl": "Sobota", "zh-cn": "星期六"}, @@ -31,6 +32,7 @@ systemDictionary = { "add a state for Alexa": { "en": "add a state for Alexa", "de": "Füge einen Zustand für Alexa hinzu", "ru": "добавить информацию о пользователе Alexa", "pt": "adicione um estado para Alexa", "nl": "voeg een staat toe voor Alexa", "fr": "ajouter un état pour Alexa", "it": "aggiungi uno stato per Alexa", "es": "agregar un estado para Alexa", "pl": "dodaj stan dla Alexy", "zh-cn": "为Alexa添加状态"}, "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels": {"en": "add timer and choose room channels directly and/or choose rooms, which finds assigned room channels", "de": "Timer hinzufügen und Raumkanäle direkt auswählen und/oder Räume auswählen, um zugewiesene Raumkanäle zu finden", "ru": "добавить таймер и выбрать каналы номеров напрямую и / или выбрать номера, которые находят назначенные каналы номеров", "pt": "adicione temporizador e escolha os canais da sala diretamente e / ou escolha as salas, que encontram os canais de sala atribuídos", "nl": "voeg de timer toe en kies direct kamerkanalen en / of kies kamers, die toegewezen kamerkanalen vinden", "fr": "ajouter une minuterie et choisir directement les canaux de pièce et / ou choisir les chambres, qui trouve les canaux de pièce attribués", "it": "aggiungi il timer e scegli i canali room direttamente e / o scegli room, che trova i canali room assegnati", "es": "agregue temporizador y elija canales de sala directamente y / o elija salas, que encuentra los canales de sala asignados", "pl": "dodaj zegar i wybierz kanały pokojowe bezpośrednio i / lub wybierz pokoje, które wyszukają przypisane kanały pokojowe", "zh-cn": "添加计时器并直接选择房间频道和/或选择房间,以查找分配的房间频道"}, "additional settings": { "en": "additional settings", "de": "zusätzliche Einstellungen", "ru": "дополнительные настройки", "pt": "Configurações adicionais", "nl": "aanvullende instellingen", "fr": "paramètres additionnels", "it": "altre impostazioni", "es": "ajustes adicionales", "pl": "dodatkowe ustawienia", "zh-cn": "其他设置"}, + "choose Device": { "en": "choose Device", "de": "Wählen Sie Gerät", "ru": "выберите Устройство", "pt": "escolha Dispositivo", "nl": "kies Apparaat", "fr": "choisissez Appareil", "it": "scegli Dispositivo", "es": "elegir dispositivo", "pl": "wybierz Urządzenie", "zh-cn": "选择设备"}, "clean Room": { "en": "clean Room", "de": "reinige Zimmer", "ru": "чистая комната", "pt": "quarto limpo", "nl": "schone kamer", "fr": "chambre propre", "it": "stanza pulita", "es": "Habitación limpia", "pl": "czysty pokój", "zh-cn": "整理房间"}, "clean assigned rooms": { "en": "clean assigned rooms", "de": "zugewiesene Zimmer reinigen", "ru": "чистые назначенные комнаты", "pt": "limpar quartos designados", "nl": "schone toegewezen kamers", "fr": "nettoyer les chambres attribuées", "it": "camere pulite assegnate", "es": "limpiar habitaciones asignadas", "pl": "posprzątaj przydzielone pokoje", "zh-cn": "清洁分配的房间"}, "clean water Filter": { "en": "clean water Filter", "de": "säubere Wasser Filter", "ru": "Фильтр чистой воды", "pt": "filtro de agua potável", "nl": "schoon waterfilter", "fr": "Filtre à eau propre", "it": "filtro per acqua pulita", "es": "filtro de agua limpia", "pl": "Filtr czystej wody", "zh-cn": "净水过滤器"}, diff --git a/io-package.json b/io-package.json index f5afd445..a0517da3 100644 --- a/io-package.json +++ b/io-package.json @@ -1,249 +1,288 @@ { - "common": { - "name": "mihome-vacuum", - "version": "4.3.0", - "news": { - "4.3.0": { - "en": "added dreame error messages\nresponsive design added\nupdate dependecies and linting", - "de": "traumhafte fehlermeldungen hinzugefügt\nansprechendes design hinzugefügt\naktualisieren von abhängigkeiten und hinweisen", - "ru": "добавленные сообщения об ошибках сна\nадаптивный дизайн добавлен\nобновление иждивенчества и линтинг", - "pt": "adicionado mensagens de erro de sonho\ndesign responsivo adicionado\ndependências de atualização e forro", - "nl": "toegevoegd droomfoutmeldingen\nresponsief ontwerp toegevoegd\nupdate afhankelijkheden en linting", - "fr": "messages d'erreur de rêve ajouté\ndesign adapté ajouté\nmettre à jour les dépendances et le lintage", - "it": "messaggi di errore sognanti aggiunti\ndesign reattivo aggiunto\naggiornamento dipendenze e linting", - "es": "mensajes de error de sueño\ndiseño sensible añadido\ndependencias de actualización y revestimiento", - "pl": "dodane komunikaty błędów dreame\nresponsible design added\naktualizacji zależności i lintowania", - "uk": "додано повідомлення про помилку dreame\nдодано адаптивний дизайн\nоновлення залежності і linting", - "zh-cn": "添加 dreame 错误消息\n添加应答设计\n更新依赖关系和内嵌" - }, - "4.2.0": { - "en": "Adapter requires node.js 18 and js-controller >= 5 now\nDependencies have been updated\nupdate dependecies\nreplace zlib with native zlib", - "de": "Adapter benötigt node.js 18 und js-controller >= 5 jetzt\nAbhängigkeiten wurden aktualisiert\naktualisierung der abhängigkeiten\nersetzen zlib mit nativem zlib", - "ru": "Адаптер требует node.js 18 и js-controller >= 5 сейчас\nЗависимость обновлена\nобновление\nзаменить zlib на родной zlib", - "pt": "Adapter requer node.js 18 e js-controller >= 5 agora\nAs dependências foram atualizadas\natualizações\nsubstituir zlib com zlib nativo", - "nl": "Adapter vereist node.js 18 en js-controller Nu 5\nAfhankelijkheden zijn bijgewerkt\nafhankelijkheden bijwerken\nzlib vervangen door native zlib", - "fr": "Adaptateur nécessite node.js 18 et js-controller >= 5 maintenant\nLes dépendances ont été actualisées\nmettre à jour les dépendances\nremplacer zlib par zlib natif", - "it": "Adattatore richiede node.js 18 e js-controller >= 5 ora\nLe dipendenze sono state aggiornate\ndipendenze dell'aggiornamento\nsostituire zlib con zlib nativo", - "es": "Adaptador requiere node.js 18 y js-controller √= 5 ahora\nSe han actualizado las dependencias\ndependencias de actualización\nreemplazar zlib con zlib nativo", - "pl": "Adapter wymaga node.js 18 i sterownika js- > = 5 teraz\nZaktualizowano zależności\nuaktualnianie zależności\nzastąpić zlib natywnym zlib", - "uk": "Адаптер вимагає node.js 18 і js-controller >= 5 тепер\nЗалежність було оновлено\nоновлення залежності\nзамінити zlib з рідною zlib", - "zh-cn": "适配器需要节点.js 18和js控制器 QQ 现在5号\n依赖关系已更新\n更新依赖关系\n将 zlib 替换为本地 zlib" - }, - "4.1.1": { - "en": "adapt stockConsumables to dreame\nfix url #886", - "de": "zubehör Bequemlichkeiten zum Träumen\nurl #886", - "ru": "адаптер Консуммы, чтобы мечтать\nисправить #886", - "pt": "adaptar o estoque Consumíveis para sonhar\ncorrigir url #886", - "nl": "voorraad aanpassen Verbruiksgoederen om te dromen\nfix url #886", - "fr": "adapter le stock Consommables à rêver\nrèglement n° 886", - "it": "azione adatta Consumabili a sognare\ncorrezione url #886", - "es": "adapt stock Consumibles para soñar\nfijar url #886", - "pl": "dostosować zasoby Materiały eksploatacyjne do zanurzenia\nfix url # 886", - "uk": "адаптивний запас Здатні мрії\nзафіксувати виворіт #886", - "zh-cn": "调整存量 做梦的消耗品\n修复url #886" - }, - "4.1.0": { - "en": "update dependecies\nadd Roborock S8 and P10\nrework consumable features", - "de": "aktualisierung der abhängigkeiten\nroborock S8 und P10 hinzufügen\nwiederverwendbare merkmale", - "ru": "обновление зависимостей\nдобавить Roborock S8 и P10\nrework потребляемые функции", - "pt": "atualizações\nadicionar Roborock S8 e P10\nrecursos consumíveis retrabalho", - "nl": "vertaling:\nboeg Roborock S8 en P10\nreageerbare kenmerken", - "fr": "mettre à jour les dépendances\najouter Roborock S8 et P10\nrework caractéristiques consommables", - "it": "dipendenze di aggiornamento\naggiungere Roborock S8 e P10\ncaratteristiche di consumo di rilavoro", - "es": "dependencias de actualización\nañadir Roborock S8 y P10\nfunciones consumibles reelaborables", - "pl": "aktualizacja\nroborock S8 i P10\nrework", - "uk": "оновлення залежності\nдодати Roborock S8 і P10\nпереробляти обмежені можливості", - "zh-cn": "a. 最新依赖情况\n增加Roborock S8和P10\n恢复原状" - }, - "4.0.0": { - "en": "inital version of dream support\nadd Roborock S8 Ultra Pro", - "de": "initale version der traumunterstützung\nroborock S8 Ultra Pro", - "ru": "инитальная версия поддержки мечты\nдобавить Roborock S8 Ultra Pro", - "pt": "versão inital de apoio aos sonhos\nadicionar Roborock S8 Ultra Pro", - "nl": "initiaal versie van droomondersteuning\nvoeg Roborock S8 Ultra Pro", - "fr": "version inital du support de rêve\najouter Roborock S8 Ultra Pro", - "it": "versione inital del supporto dei sogni\naggiungere Roborock S8 Ultra Pro", - "es": "versión inital de soporte de sueño\nañadir Roborock S8 Ultra Pro", - "pl": "inicjatywna wersja snu\nroborock S8 Ultra", - "uk": "ідеальна версія сновидіння\nдодати Roborock S8 Ultra Pro", - "zh-cn": "理想支持的逻辑版本\n增 编" - }, - "3.11.0": { - "en": "fix too much map request to prevent map rate limit in the app", - "de": "Reduziert der Mapanfrage um ein Blockieren der Kartenansicht in der App zu verhindern", - "ru": "исправить слишком много запроса карты, чтобы предотвратить ограничение скорости карты в приложении", - "pt": "corrigir demasiada solicitação de mapa para evitar o limite de taxa de mapa no aplicativo", - "nl": "teveel kaartverzoek om de limiet van de kaart te voorkomen", - "fr": "fixer trop de demande de carte pour empêcher la limite de taux de carte dans l'application", - "it": "fissare troppo richiesta mappa per evitare il limite di velocità della mappa nell'app", - "es": "fijar demasiada solicitud de mapa para evitar el límite de velocidad de mapa en la aplicación", - "pl": "umożliwia to rozwiązanie zbyt dużej mapy, aby zapobiec ograniczaniu tempa map w aplikacji", - "uk": "виправити занадто багато запиту на картографію, щоб запобігти обмеження швидкості карти в додатку", - "zh-cn": "fix 要求防止图表率限制过高" - }, - "3.10.1": { - "en": "fix waterBoxLevel \nfix overwriting of roomStates from global", - "de": "wasser BoxLevel\nfixes Überschreiben von roomStates aus der globalen", - "ru": "исправить воду BoxУровень\nисправить перезапись комнатГосударства от глобального", - "pt": "fixar água Nível de caixa\ncorrigir a substituição de quartoEstados do global", - "nl": "water repareren. BoxLevel\nvertaling:", - "fr": "eau BoxLevel\ncorriger l'écrasement des états de chambre du monde", - "it": "acqua potabile Scatola girevole\ncorrezione sovrascrittura di roomStates da globale", - "es": "agua BoxLevel\nfijar la sobreescritura de los Estados de la sala del mundo", - "pl": "naprawa wody BoxLevel\nprzepisywanie kominy ze strony globalnej", - "uk": "фіксація води Бодибилдерши\nфіксація перезапису кімнатних", - "zh-cn": "fix 水 框\nf 将全球会议室国家分开" - } + "common": { + "name": "mihome-vacuum", + "version": "4.3.0", + "news": { + "4.3.0": { + "en": "added dreame error messages\nresponsive design added\nupdate dependecies and linting", + "de": "traumhafte fehlermeldungen hinzugefügt\nansprechendes design hinzugefügt\naktualisieren von abhängigkeiten und hinweisen", + "ru": "добавленные сообщения об ошибках сна\nадаптивный дизайн добавлен\nобновление иждивенчества и линтинг", + "pt": "adicionado mensagens de erro de sonho\ndesign responsivo adicionado\ndependências de atualização e forro", + "nl": "toegevoegd droomfoutmeldingen\nresponsief ontwerp toegevoegd\nupdate afhankelijkheden en linting", + "fr": "messages d'erreur de rêve ajouté\ndesign adapté ajouté\nmettre à jour les dépendances et le lintage", + "it": "messaggi di errore sognanti aggiunti\ndesign reattivo aggiunto\naggiornamento dipendenze e linting", + "es": "mensajes de error de sueño\ndiseño sensible añadido\ndependencias de actualización y revestimiento", + "pl": "dodane komunikaty błędów dreame\nresponsible design added\naktualizacji zależności i lintowania", + "uk": "додано повідомлення про помилку dreame\nдодано адаптивний дизайн\nоновлення залежності і linting", + "zh-cn": "添加 dreame 错误消息\n添加应答设计\n更新依赖关系和内嵌" + }, + "4.2.0": { + "en": "Adapter requires node.js 18 and js-controller >= 5 now\nDependencies have been updated\nupdate dependecies\nreplace zlib with native zlib", + "de": "Adapter benötigt node.js 18 und js-controller >= 5 jetzt\nAbhängigkeiten wurden aktualisiert\naktualisierung der abhängigkeiten\nersetzen zlib mit nativem zlib", + "ru": "Адаптер требует node.js 18 и js-controller >= 5 сейчас\nЗависимость обновлена\nобновление\nзаменить zlib на родной zlib", + "pt": "Adapter requer node.js 18 e js-controller >= 5 agora\nAs dependências foram atualizadas\natualizações\nsubstituir zlib com zlib nativo", + "nl": "Adapter vereist node.js 18 en js-controller Nu 5\nAfhankelijkheden zijn bijgewerkt\nafhankelijkheden bijwerken\nzlib vervangen door native zlib", + "fr": "Adaptateur nécessite node.js 18 et js-controller >= 5 maintenant\nLes dépendances ont été actualisées\nmettre à jour les dépendances\nremplacer zlib par zlib natif", + "it": "Adattatore richiede node.js 18 e js-controller >= 5 ora\nLe dipendenze sono state aggiornate\ndipendenze dell'aggiornamento\nsostituire zlib con zlib nativo", + "es": "Adaptador requiere node.js 18 y js-controller √= 5 ahora\nSe han actualizado las dependencias\ndependencias de actualización\nreemplazar zlib con zlib nativo", + "pl": "Adapter wymaga node.js 18 i sterownika js- > = 5 teraz\nZaktualizowano zależności\nuaktualnianie zależności\nzastąpić zlib natywnym zlib", + "uk": "Адаптер вимагає node.js 18 і js-controller >= 5 тепер\nЗалежність було оновлено\nоновлення залежності\nзамінити zlib з рідною zlib", + "zh-cn": "适配器需要节点.js 18和js控制器 QQ 现在5号\n依赖关系已更新\n更新依赖关系\n将 zlib 替换为本地 zlib" + }, + "4.1.1": { + "en": "adapt stockConsumables to dreame\nfix url #886", + "de": "zubehör Bequemlichkeiten zum Träumen\nurl #886", + "ru": "адаптер Консуммы, чтобы мечтать\nисправить #886", + "pt": "adaptar o estoque Consumíveis para sonhar\ncorrigir url #886", + "nl": "voorraad aanpassen Verbruiksgoederen om te dromen\nfix url #886", + "fr": "adapter le stock Consommables à rêver\nrèglement n° 886", + "it": "azione adatta Consumabili a sognare\ncorrezione url #886", + "es": "adapt stock Consumibles para soñar\nfijar url #886", + "pl": "dostosować zasoby Materiały eksploatacyjne do zanurzenia\nfix url # 886", + "uk": "адаптивний запас Здатні мрії\nзафіксувати виворіт #886", + "zh-cn": "调整存量 做梦的消耗品\n修复url #886" + }, + "4.1.0": { + "en": "update dependecies\nadd Roborock S8 and P10\nrework consumable features", + "de": "aktualisierung der abhängigkeiten\nroborock S8 und P10 hinzufügen\nwiederverwendbare merkmale", + "ru": "обновление зависимостей\nдобавить Roborock S8 и P10\nrework потребляемые функции", + "pt": "atualizações\nadicionar Roborock S8 e P10\nrecursos consumíveis retrabalho", + "nl": "vertaling:\nboeg Roborock S8 en P10\nreageerbare kenmerken", + "fr": "mettre à jour les dépendances\najouter Roborock S8 et P10\nrework caractéristiques consommables", + "it": "dipendenze di aggiornamento\naggiungere Roborock S8 e P10\ncaratteristiche di consumo di rilavoro", + "es": "dependencias de actualización\nañadir Roborock S8 y P10\nfunciones consumibles reelaborables", + "pl": "aktualizacja\nroborock S8 i P10\nrework", + "uk": "оновлення залежності\nдодати Roborock S8 і P10\nпереробляти обмежені можливості", + "zh-cn": "a. 最新依赖情况\n增加Roborock S8和P10\n恢复原状" + }, + "4.0.0": { + "en": "inital version of dream support\nadd Roborock S8 Ultra Pro", + "de": "initale version der traumunterstützung\nroborock S8 Ultra Pro", + "ru": "инитальная версия поддержки мечты\nдобавить Roborock S8 Ultra Pro", + "pt": "versão inital de apoio aos sonhos\nadicionar Roborock S8 Ultra Pro", + "nl": "initiaal versie van droomondersteuning\nvoeg Roborock S8 Ultra Pro", + "fr": "version inital du support de rêve\najouter Roborock S8 Ultra Pro", + "it": "versione inital del supporto dei sogni\naggiungere Roborock S8 Ultra Pro", + "es": "versión inital de soporte de sueño\nañadir Roborock S8 Ultra Pro", + "pl": "inicjatywna wersja snu\nroborock S8 Ultra", + "uk": "ідеальна версія сновидіння\nдодати Roborock S8 Ultra Pro", + "zh-cn": "理想支持的逻辑版本\n增 编" + }, + "3.11.0": { + "en": "fix too much map request to prevent map rate limit in the app", + "de": "Reduziert der Mapanfrage um ein Blockieren der Kartenansicht in der App zu verhindern", + "ru": "исправить слишком много запроса карты, чтобы предотвратить ограничение скорости карты в приложении", + "pt": "corrigir demasiada solicitação de mapa para evitar o limite de taxa de mapa no aplicativo", + "nl": "teveel kaartverzoek om de limiet van de kaart te voorkomen", + "fr": "fixer trop de demande de carte pour empêcher la limite de taux de carte dans l'application", + "it": "fissare troppo richiesta mappa per evitare il limite di velocità della mappa nell'app", + "es": "fijar demasiada solicitud de mapa para evitar el límite de velocidad de mapa en la aplicación", + "pl": "umożliwia to rozwiązanie zbyt dużej mapy, aby zapobiec ograniczaniu tempa map w aplikacji", + "uk": "виправити занадто багато запиту на картографію, щоб запобігти обмеження швидкості карти в додатку", + "zh-cn": "fix 要求防止图表率限制过高" + }, + "3.10.1": { + "en": "fix waterBoxLevel \nfix overwriting of roomStates from global", + "de": "wasser BoxLevel\nfixes Überschreiben von roomStates aus der globalen", + "ru": "исправить воду BoxУровень\nисправить перезапись комнатГосударства от глобального", + "pt": "fixar água Nível de caixa\ncorrigir a substituição de quartoEstados do global", + "nl": "water repareren. BoxLevel\nvertaling:", + "fr": "eau BoxLevel\ncorriger l'écrasement des états de chambre du monde", + "it": "acqua potabile Scatola girevole\ncorrezione sovrascrittura di roomStates da globale", + "es": "agua BoxLevel\nfijar la sobreescritura de los Estados de la sala del mundo", + "pl": "naprawa wody BoxLevel\nprzepisywanie kominy ze strony globalnej", + "uk": "фіксація води Бодибилдерши\nфіксація перезапису кімнатних", + "zh-cn": "fix 水 框\nf 将全球会议室国家分开" + } + }, + "titleLang": { + "en": "Control of Xiaomi/Roborock vacuum cleaner", + "de": "Steuerung des Staubsaugers Xiaomi/Roborock", + "ru": "Управление пылесосом Xiaomi/Roborock", + "pt": "Controle do aspirador Xiaomi/Roborock", + "nl": "Bediening van Xiaomi/Roborock stofzuiger", + "fr": "Contrôle de l'aspirateur Xiaomi/Roborock", + "it": "Controllo dell'aspirapolvere Xiaomi/Roborock", + "es": "Control de la aspiradora Xiaomi/Roborock", + "pl": "Kontrola odkurzacza Xiaomi/Roborock", + "uk": "Керування пилососом Xiaomi/Roborock", + "zh-cn": "小米/罗伯克吸尘器的控制" + }, + "desc": { + "en": "This adapter allows control Xiaomi vacuum cleaner", + "de": "Dieser Adapter ermöglicht die Steuerung Xiaomi Staubsauger", + "ru": "Этот адаптер позволяет контролировать пылесос Xiaomi", + "pt": "Este adaptador permite controle Xiaomi aspirador de pó", + "nl": "Met deze adapter kunt u de Xiaomi-stofzuiger bedienen", + "fr": "Cet adaptateur permet de contrôler l'aspirateur Xiaomi", + "it": "Questo adattatore consente il controllo dell'aspirapolvere Xiaomi", + "es": "Este adaptador permite el control del aspirador Xiaomi", + "pl": "Ten adapter umożliwia kontrolę odkurzacza Xiaomi", + "uk": "Цей адаптер дозволяє керувати пилососом Xiaomi", + "zh-cn": "这款适配器可以控制小米吸尘器" + }, + "authors": [ + "bluefox " + ], + "osDependencies": { + "linux": [ + "libcairo2-dev", + "libpango1.0-dev", + "libjpeg-dev", + "libgif-dev", + "librsvg2-dev" + ] + }, + "licenseInformation": { + "license": "MIT", + "type": "free" + }, + "adminUI": { + "config": "materialize" + }, + "platform": "Javascript/Node.js", + "mode": "daemon", + "loglevel": "info", + "compact": true, + "icon": "mihome-vacuum.png", + "readme": "https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/blob/master/README.md", + "keywords": [ + "url", + "html", + "file", + "mihome-vacuum" + ], + "extIcon": "https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.mihome-vacuum/master/admin/mihome-vacuum.png", + "type": "household", + "messagebox": true, + "connectionType": "local", + "dataSource": "poll", + "tier": 2, + "dependencies": [ + { + "js-controller": ">=5.0.19" + } + ], + "globalDependencies": [ + { + "admin": ">=4.0.9" + } + ], + "plugins": { + "sentry": { + "dsn": "https://b93cc849b5544d1682e20820bf56d636@sentry.iobroker.net/46" + } + } }, - "titleLang": { - "en": "Control of Xiaomi/Roborock vacuum cleaner", - "de": "Steuerung des Staubsaugers Xiaomi/Roborock", - "ru": "Управление пылесосом Xiaomi/Roborock", - "pt": "Controle do aspirador Xiaomi/Roborock", - "nl": "Bediening van Xiaomi/Roborock stofzuiger", - "fr": "Contrôle de l'aspirateur Xiaomi/Roborock", - "it": "Controllo dell'aspirapolvere Xiaomi/Roborock", - "es": "Control de la aspiradora Xiaomi/Roborock", - "pl": "Kontrola odkurzacza Xiaomi/Roborock", - "uk": "Керування пилососом Xiaomi/Roborock", - "zh-cn": "小米/罗伯克吸尘器的控制" - }, - "desc": { - "en": "This adapter allows control Xiaomi vacuum cleaner", - "de": "Dieser Adapter ermöglicht die Steuerung Xiaomi Staubsauger", - "ru": "Этот адаптер позволяет контролировать пылесос Xiaomi", - "pt": "Este adaptador permite controle Xiaomi aspirador de pó", - "nl": "Met deze adapter kunt u de Xiaomi-stofzuiger bedienen", - "fr": "Cet adaptateur permet de contrôler l'aspirateur Xiaomi", - "it": "Questo adattatore consente il controllo dell'aspirapolvere Xiaomi", - "es": "Este adaptador permite el control del aspirador Xiaomi", - "pl": "Ten adapter umożliwia kontrolę odkurzacza Xiaomi", - "uk": "Цей адаптер дозволяє керувати пилососом Xiaomi", - "zh-cn": "这款适配器可以控制小米吸尘器" - }, - "authors": [ - "bluefox " - ], - "osDependencies": { - "linux": [ - "libcairo2-dev", - "libpango1.0-dev", - "libjpeg-dev", - "libgif-dev", - "librsvg2-dev" - ] - }, - "licenseInformation": { - "license": "MIT", - "type": "free" - }, - "adminUI": { - "config": "materialize" - }, - "platform": "Javascript/Node.js", - "mode": "daemon", - "loglevel": "info", - "compact": true, - "icon": "mihome-vacuum.png", - "readme": "https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/blob/master/README.md", - "keywords": [ - "url", - "html", - "file", - "mihome-vacuum" + "encryptedNative": [ + "password", + "token" ], - "extIcon": "https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.mihome-vacuum/master/admin/mihome-vacuum.png", - "type": "household", - "messagebox": true, - "connectionType": "local", - "dataSource": "poll", - "tier": 2, - "dependencies": [ - { - "js-controller": ">=5.0.19" - } + "protectedNative": [ + "password", + "token" ], - "globalDependencies": [ - { - "admin": ">=4.0.9" - } + "messages": [ + { + "condition": { + "operand": "and", + "rules": [ + "oldVersion<5.0.0", + "newVersion>=5.0.0" + ] + }, + "title": { + "en": "Important notice!", + "de": "Wichtiger Hinweis!", + "ru": "Важное замечание!", + "pt": "Notícia importante!", + "nl": "Belangrijke mededeling!", + "fr": "Avis important!", + "it": "Avviso IMPORTANTE!", + "es": "Noticia importante!", + "pl": "Ważna uwaga!", + "zh-cn": "重要通知!" + }, + "text": { + "en": "BREAKING CHANGE - After update you have to click get-Device in settings and choose your robor again and save", + "de": "WICHTIGSTE ÄNDERUNG – Nach dem Update müssen Sie in den Einstellungen auf „Get-Device“ klicken, Ihren Robor erneut auswählen und speichern", + "ru": "СЕРЬЕЗНОЕ ИЗМЕНЕНИЕ. После обновления вам нужно нажать «Получить устройство» в настройках, снова выбрать свой робот и сохранить его.", + "pt": "MUDANÇA DE QUEBRA - Após a atualização você deve clicar em get-Device nas configurações e escolher seu robor novamente e salvar", + "nl": "BREAKING CHANGE - Na de update moet je in de instellingen op Get-Device klikken en je robor opnieuw kiezen en opslaan", + "fr": "CHANGEMENT RUPTURE - Après la mise à jour, vous devez cliquer sur Obtenir l'appareil dans les paramètres, choisir à nouveau votre robot et enregistrer", + "it": "MODIFICA ROTANTE - Dopo l'aggiornamento devi fare clic su Ottieni dispositivo nelle impostazioni, scegliere nuovamente il tuo robor e salvare", + "es": "CAMBIO IMPORTANTE: después de la actualización, debe hacer clic en Obtener dispositivo en la configuración, elegir su robot nuevamente y guardar.", + "pl": "PRZERWA ZMIANY - Po aktualizacji musisz kliknąć opcję Pobierz urządzenie w ustawieniach, ponownie wybrać robota i zapisać", + "zh-cn": "重大更改 - 更新后,您必须单击设置中的“获取设备”,然后再次选择您的机器人并保存" + }, + "level": "warn", + "buttons": [ + "agree", + "cancel" + ] + } ], - "plugins": { - "sentry": { - "dsn": "https://b93cc849b5544d1682e20820bf56d636@sentry.iobroker.net/46" - } - } - }, - "encryptedNative": [ - "password", - "token" - ], - "protectedNative": [ - "password", - "token" - ], - "native": { - "email": "", - "password": "", - "server": "-", - "token": "", - "MiDevice": "", - "ip": "", - "enableMiMap": false, - "enableSelfCommands": false, - "sendPauseBeforeHome": false, - "enableResumeZone": false, - "port": 54321, - "ownPort": 53421, - "pingInterval": 20000, - "wifiInterval": 60000, - "valetudo_enable": false, - "valetudo_color_floor": "#56affc", - "valetudo_color_wall": "#b3edff", - "valetudo_color_path": "#FFFFFF", - "robot_select": "robot", - "valetudo_requestIntervall": 2000, - "valetudo_MapsaveIntervall": 5000, - "newmap": false - }, - "instanceObjects": [ - { - "_id": "userfiles", - "type": "meta", - "common": { - "name": "User files for mihome-vacuum", - "type": "meta.user" - }, - "native": {} - }, - { - "_id": "info", - "type": "channel", - "common": { - "name": "Information" - }, - "native": {} - }, - { - "_id": "info.connection", - "type": "state", - "common": { - "role": "indicator.connected", - "name": "If connected to robot", - "type": "boolean", - "read": true, - "write": false - }, - "native": {} + "native": { + "email": "", + "password": "", + "server": "-", + "token": "", + "ip": "", + "enableMiMap": false, + "enableSelfCommands": false, + "sendPauseBeforeHome": false, + "enableResumeZone": false, + "port": 54321, + "ownPort": 53421, + "pingInterval": 20000, + "wifiInterval": 60000, + "valetudo_enable": false, + "valetudo_color_floor": "#56affc", + "valetudo_color_wall": "#b3edff", + "valetudo_color_path": "#FFFFFF", + "robot_select": "robot", + "valetudo_requestIntervall": 2000, + "valetudo_MapsaveIntervall": 5000, + "newmap": false }, - { - "_id": "", - "type": "device", - "common": { - "name": "Vacuum robot", - "role": "vacuumCleaner" - }, - "native": {} - } - ] -} + "instanceObjects": [ + { + "_id": "userfiles", + "type": "meta", + "common": { + "name": "User files for mihome-vacuum", + "type": "meta.user" + }, + "native": {} + }, + { + "_id": "info", + "type": "channel", + "common": { + "name": "Information" + }, + "native": {} + }, + { + "_id": "info.connection", + "type": "state", + "common": { + "role": "indicator.connected", + "name": "If connected to robot", + "type": "boolean", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "", + "type": "device", + "common": { + "name": "Vacuum robot", + "role": "vacuumCleaner" + }, + "native": {} + } + ] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a3793168..83ba560c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -319,30 +319,6 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@eslint/core": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", @@ -380,17 +356,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", @@ -404,19 +369,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@eslint/js": { "version": "9.17.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", @@ -586,6 +538,15 @@ "sinon-chai": "^3.7.0" } }, + "node_modules/@iobroker/testing/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@iobroker/testing/node_modules/chai-as-promised": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", @@ -986,9 +947,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "22.10.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.3.tgz", - "integrity": "sha512-DifAyw4BkrufCILvD3ucnuN8eydUfc/C1GlyrnI+LK6543w5/L3VeVgf05o3B4fqSXP1dKYLOZsKfutpxPzZrw==", + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", + "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", "dev": true, "dependencies": { "undici-types": "~6.20.0" @@ -1223,6 +1184,32 @@ "typescript": ">=4.8.4 <5.8.0" } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/utils": { "version": "8.19.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.0.tgz", @@ -1696,9 +1683,9 @@ "dev": true }, "node_modules/bare-events": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz", - "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.1.tgz", + "integrity": "sha512-Bw2PgKSrZ3uCuSV9WQ998c/GTJTd+9bWj97n7aDQMP8dP/exAZQlJeswPty0ISy+HZD+9Ex+C7CCnc9Q5QJFmQ==", "dev": true, "optional": true }, @@ -1754,12 +1741,14 @@ } }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "peer": true, "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/braces": { @@ -2556,9 +2545,9 @@ } }, "node_modules/es-abstract": { - "version": "1.23.8", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.8.tgz", - "integrity": "sha512-lfab8IzDn6EpI1ibZakcgS6WsfEBiB+43cuJo+wgylx1xKXf+Sp+YR3vFuQwC/u3sxYwV8Cxe3B0DpVUu/WiJQ==", + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", "dev": true, "peer": true, "dependencies": { @@ -2573,10 +2562,11 @@ "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", + "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.6", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", @@ -2597,11 +2587,12 @@ "object-inspect": "^1.13.3", "object-keys": "^1.1.1", "object.assign": "^4.1.7", - "own-keys": "^1.0.0", + "own-keys": "^1.0.1", "regexp.prototype.flags": "^1.5.3", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", @@ -2928,48 +2919,6 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, - "node_modules/eslint-plugin-react/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "peer": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/eslint-plugin-react/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -3044,17 +2993,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", @@ -3081,19 +3019,6 @@ "node": ">=10.13.0" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/espree": { "version": "10.3.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", @@ -3630,22 +3555,22 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz", - "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", "dev": true, "peer": true, "dependencies": { "call-bind-apply-helpers": "^1.0.1", - "dunder-proto": "^1.0.0", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", + "get-proto": "^1.0.0", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "math-intrinsics": "^1.0.0" + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3655,9 +3580,9 @@ } }, "node_modules/get-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.0.tgz", - "integrity": "sha512-TtLgOcKaF1nMP2ijJnITkE4nRhbpshHhmzKiuhmSniiwWzovoqwqQ8rNuhf0mXJOqIY5iU+QkUe0CkJYrLsG9w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, "peer": true, "dependencies": { @@ -3802,6 +3727,30 @@ "node": ">= 10.13.0" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -4355,13 +4304,16 @@ "peer": true }, "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.0.tgz", + "integrity": "sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==", "dev": true, "peer": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -4529,13 +4481,16 @@ } }, "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dev": true, "peer": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -5098,6 +5053,26 @@ "node": ">=10.13.0" } }, + "node_modules/liftoff/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -5285,18 +5260,16 @@ } }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "peer": true, "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, "node_modules/minimist": { @@ -5358,6 +5331,15 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/mocha/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -5516,6 +5498,27 @@ "validate-npm-package-license": "^3.0.1" } }, + "node_modules/normalize-package-data/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "peer": true, + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -6150,6 +6153,26 @@ "resolve": "^1.11.1" } }, + "node_modules/proxyquire/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/psl": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", @@ -6392,20 +6415,40 @@ "node": ">= 10.13.0" } }, + "node_modules/rechoir/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/reflect.getprototypeof": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.9.tgz", - "integrity": "sha512-r0Ay04Snci87djAsI4U+WNRcSw5S4pOH7qFjd/veA5gC7TbqESR3tcj28ia95L/fYUDw11JKP7uqUKUAfVvV5Q==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, "peer": true, "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "dunder-proto": "^1.0.1", - "es-abstract": "^1.23.6", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", "which-builtin-type": "^1.2.1" }, "engines": { @@ -6426,15 +6469,17 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dev": true, "peer": true, "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "set-function-name": "^2.0.2" }, "engines": { @@ -6545,21 +6590,19 @@ } }, "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, + "peer": true, "dependencies": { - "is-core-module": "^2.16.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6779,6 +6822,21 @@ "node": ">= 0.4" } }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "peer": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", diff --git a/package.json b/package.json index 245bafeb..6de162b2 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "test": "npm run test:js && npm run test:package", "check": "tsc --noEmit -p tsconfig.check.json", "lint": "eslint -c eslint.config.mjs .", + "translate": "gulp translateAndUpdateWordsJS", "release": "release-script" }, "files": [