-
-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathio-package.json
More file actions
234 lines (234 loc) · 60 KB
/
io-package.json
File metadata and controls
234 lines (234 loc) · 60 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
{
"common": {
"name": "roborock",
"version": "0.7.3",
"tier": 1,
"news": {
"0.7.3": {
"en": "Fixed V1 auto-empty dust collection to use the AppPlugin-verified `app_start_collect_dust` command.",
"de": "Behobene V1 Auto-Empty-Staubsammlung, um den AppPlugin-verified `app start collect dust` Befehl zu verwenden.",
"ru": "Fixed V1 auto-empty dust collection для использования команды AppPlugin-verified 'app start collect dust'.",
"pt": "Fixo V1 coleção de poeira auto-vazio para usar o comando `app start collect dust` verificado pelo AppPlugin.",
"nl": "Vaste V1 auto-leeg stof opvang voor het gebruik van de AppPlugin-verifieerde .",
"fr": "Correction de la collecte automatique de poussières V1 pour utiliser la commande AppPlugin-verified `app start collect dust`.",
"it": "Risolto V1 auto-vuoto polvere raccolta per utilizzare il comando AppPlugin-verified `app start collect dust` .",
"es": "Recopilación automática V1 fija para utilizar el comando AppPlugin-verified `app start collect dust`.",
"pl": "Naprawiono automatyczne zbieranie kurzu V1, aby użyć komendy AppPlugin- sprawdzonej 'app _ start _ collect _ dust'.",
"uk": "Виправлено V1 автоматично-порожня колекція пилу для використання програмиPlugin-verified `app start collect dust` команди.",
"zh-cn": "使用 AppPlugin 验证的`app start collect dust' 命令的固定 V1 自动空尘收集 ."
},
"0.7.2": {
"en": "Fixed missing auto-empty command for Roborock Qrevo MaxV (#1272).\nFixed local endpoint refresh after temporary MQTT outages so stale local IP recovery retries immediately again.\nRequire bug reports to upload a `.txt` debug log file.",
"de": "Behobene fehlende Auto-Empty-Befehl für Roborock Qrevo MaxV (#1272).\nBehobene lokale Endpoint-Erfrischung nach temporären MQTT-Ausgängen, so stale lokale IP-Recovery-Retries sofort wieder.\nErfordere Bug-Berichte, um eine debug-Log-Datei `.txt` hochzuladen.",
"ru": "Исправлена отсутствующая команда автопустоты для Roborock Qrevo MaxV (#1272).\nЗафиксированное локальное обновление конечной точки после временного отключения MQTT, поэтому локальное восстановление IP немедленно снова задерживается.\nТребуйте отчеты об ошибках для загрузки файла журнала отладки «.txt».",
"pt": "Corrigido o comando de vazio automático para Roborock Qrevo MaxV (# 1272).\nRefresca o endpoint local fixo após interrupções temporárias do MQTT, então as repetições de recuperação de IP local são repetidas imediatamente novamente.\nRequer relatórios de bug para enviar um arquivo de registro de depuração `.txt`.",
"nl": "Fixed ontbrekende auto-leeg commando voor Roborock Qrevo MaxV (#1272).\nFixed local endpoint refresh na tijdelijke MQTT-uitval, zodat lokale IP-herstel onmiddellijk opnieuw wordt uitgesteld.\nVereiste bug rapporten om een debug-logbestand te uploaden.",
"fr": "Commande automatique manquante corrigée pour Roborock Qrevo MaxV (#1272).\nCorrection du rafraîchissement local après des pannes temporaires de MQTT afin que la récupération locale de l'IP se répète immédiatement.\nExiger des rapports de bogues pour télécharger un fichier de débogage `.txt`.",
"it": "Corretto il comando automatico mancante per Roborock Qrevo MaxV (#1272).\nRinfresco endpoint locale riparato dopo interruzioni di MQTT temporanei in modo stantile recupero IP locale si ricarica immediatamente.\nRichiedere segnalazioni di bug per caricare un file di registro `.txt` debug.",
"es": "Orden de auto-empty fijo faltante para Roborock Qrevo MaxV (#1272).\nRefrigerio local fijo de punto final después de los outages temporales de MQTT por lo que se estancó la recuperación IP local de nuevo.\nRequiere informes de fallos para subir un archivo de registro de depuración `.txt`.",
"pl": "Naprawiono brak automatycznego pustego polecenia dla Robolock Qrevo MaxV (# 1272).\nPoprawiony lokalny punkt końcowy odświeża się po tymczasowym przestoju MQTT, co powoduje, że nieświeży lokalny odzysk IP powraca natychmiast.\nWymagane raporty o błędach, aby przesłać plik '.txt'.",
"uk": "Виправлено відсутній автоматичний командний ряд Roborock Qrevo MaxV (#1272).\nВиправлено локальне оновлення кінцевої точки після тимчасової вихідної частини MQTT, так само, як і раніше, зафіксовано локальне відновлення IP.\nЗапитайте звіти про помилки, щоб завантажити файл журналу `.txt`.",
"zh-cn": "Roborock Qrevo MaxV (# 1272) 的固定丢失自动空命令 .\n固定的本地端点在 MQTT 暂时停电后刷新, 从而使得本地 IP 恢复重试立即重新开始 .\n要求错误报告上传“.txt”调试日志文件."
},
"0.7.1": {
"en": "Fixed local TCP recovery when a Roborock device gets a new LAN IP address.\nUpdated dependencies: `@napi-rs/canvas` to 1.0.0, `protobufjs` to 8.2.0 and `zod` to 4.4.3.\nResolved npm audit security advisories in transitive dependencies and documented the temporary dependency overrides.",
"de": "Feste lokale TCP-Recovery, wenn ein Roborock-Gerät eine neue LAN-IP-Adresse erhält.\nAktualisierte Abhängigkeiten: `@napi-rs/canvas` bis 1.0.0, `protobufjs` bis 8.2.0 und `zod` bis 4.4.3.\nAufgelöste npm Audit-Sicherheitsberater in Transitionsabhängigkeiten und dokumentiert die vorübergehende Abhängigkeitsüberschreitung.",
"ru": "Исправлено локальное восстановление TCP, когда устройство Roborock получает новый IP-адрес локальной сети.\nОбновленные зависимости: \"@napi-rs/canvas\" до 1.0.0, \"protobufjs\" до 8.2.0 и \"zod\" до 4.4.3.\nРешены рекомендации по безопасности аудита npm в транзитивных зависимостях и документированы временные переопределения зависимостей.",
"pt": "Fixo recuperação TCP local quando um dispositivo Robolock recebe um novo endereço IP LAN.\nDependências atualizadas: `@napi-rs/canvas` a 1.0.0, `protobufjs` a 8.2.0 e `zod` a 4.4.3.\nConsultorias de segurança de auditoria npm resolvidas em dependências transitivas e documentadas as sobreposições de dependência temporária.",
"nl": "Vaste lokale TCP herstel wanneer een Roborock apparaat krijgt een nieuw LAN IP-adres.\nBijgewerkte afhankelijkheden: .\nOpgelost npm audit beveiligingsadviseurs in transitieve afhankelijkheden en documenteerde de tijdelijke afhankelijkheid overrides.",
"fr": "Correction de la récupération locale TCP quand un périphérique Roborock obtient une nouvelle adresse IP LAN.\nDépendances actualisées : `@napi-rs/canvas` à 1.0.0, `protobufjs` à 8.2.0 et `zod` à 4.4.3.\nRésolution des avis de sécurité de npm dans les dépendances transitoires et documenté les dépassements de dépendance temporaire.",
"it": "Ricupero TCP locale fisso quando un dispositivo Roborock ottiene un nuovo indirizzo IP LAN.\nDipendenze aggiornate: `@napi-rs/canvas` a 1.0.0, `protobufjs` a 8.2.0 e `zod` a 4.4.3.\nRisolto npm audit consulenti di sicurezza nelle dipendenze transitive e documentato la dipendenza temporanea overrides.",
"es": "Recuperación TCP local fijada cuando un dispositivo Roborock obtiene una nueva dirección IP LAN.\nDependencias actualizadas: `@napi-rs/canvas` a 1.0.0, `protobufjs` a 8.2.0 y `zod` a 4.4.3.\nResolved npm audit security advisories in transitive dependencies and documented the temporary dependency overrides.",
"pl": "Naprawiono lokalny odzysk TCP, gdy urządzenie Robolock otrzymuje nowy adres IP LAN.\nAktualizacja zależności: '@ napi-rs / pinean' do 1.0.0, 'protobufjs' do 8.2.0 i 'zod' do 4.4.3.\nUzgodniono doradztwo npm w zakresie bezpieczeństwa kontroli w zależności przejściowej i udokumentowano tymczasowe przekroczenie zależności.",
"uk": "Виправлено локальне відновлення TCP, коли пристрій Roborock отримує нову LAN IP-адресу.\nОновлені залежності: `@napi-rs/canvas`` до 1.0.0, `protobufjs` до 8.2.0 та `zod` до 4.4.3.\nЗдійснено консультацію з питань захисту персональних даних в транзитних залежностях та задокументовано тимчасові затримки залежностей.",
"zh-cn": "当Roborock设备获得一个新的局域网IP地址时,固定的本地TCP恢复.\n更新的依附关系:`napi-rs/canvas'为1.0.0,`protobufjs'为8.2.0,`zod'为4.4.3.\n在过渡性依赖中解决 npm 审计安全咨询,并记录临时依赖性覆盖."
},
"0.7.0": {
"en": "Added support for Roborock Q10, including map handling for this model.\nAdded support for Roborock Saros Z70.\nImproved local connections for newer Roborock models so reconnects, keepalive checks and map transfers are more reliable.\nFixed empty images in mapBase64 and mapBase64Truncated.",
"de": "Unterstützung für Roborock Q10 hinzugefügt, inklusive Kartenverarbeitung für dieses Modell.\nUnterstützung für Roborock Saros Z70 hinzugefügt.\nLokale Verbindungen für neuere Roborock-Modelle verbessert, damit Wiederverbindungen, Keepalive-Prüfungen und Kartenübertragungen zuverlässiger laufen.\nLeere Bilder in mapBase64 und mapBase64Truncated behoben.",
"es": "Se añadió soporte para Roborock Q10, incluida la gestión de mapas para este modelo.\nSe añadió soporte para Roborock Saros Z70.\nSe mejoraron las conexiones locales para modelos Roborock recientes, haciendo más fiables las reconexiones, las comprobaciones keepalive y las transferencias de mapas.\nSe corrigieron imágenes vacías en mapBase64 y mapBase64Truncated.",
"fr": "Ajout de la prise en charge du Roborock Q10, y compris la gestion des cartes pour ce modèle.\nAjout de la prise en charge du Roborock Saros Z70.\nAmélioration des connexions locales pour les modèles Roborock récents, afin de rendre les reconnexions, les contrôles keepalive et les transferts de cartes plus fiables.\nCorrection des images vides dans mapBase64 et mapBase64Truncated.",
"it": "Aggiunto il supporto per Roborock Q10, inclusa la gestione delle mappe per questo modello.\nAggiunto il supporto per Roborock Saros Z70.\nMigliorate le connessioni locali per i modelli Roborock più recenti, rendendo più affidabili riconnessioni, controlli keepalive e trasferimenti delle mappe.\nCorrette le immagini vuote in mapBase64 e mapBase64Truncated.",
"ru": "Добавлена поддержка Roborock Q10, включая обработку карт для этой модели.\nДобавлена поддержка Roborock Saros Z70.\nУлучшены локальные соединения для новых моделей Roborock: переподключения, проверки keepalive и передача карт стали надежнее.\nИсправлены пустые изображения в mapBase64 и mapBase64Truncated.",
"pt": "Adicionado suporte para Roborock Q10, incluindo o processamento de mapas para este modelo.\nAdicionado suporte para Roborock Saros Z70.\nMelhoradas as ligações locais para modelos Roborock mais recentes, tornando reconexões, verificações keepalive e transferências de mapas mais fiáveis.\nCorrigidas imagens vazias em mapBase64 e mapBase64Truncated.",
"nl": "Ondersteuning toegevoegd voor Roborock Q10, inclusief kaartverwerking voor dit model.\nOndersteuning toegevoegd voor Roborock Saros Z70.\nLokale verbindingen voor nieuwere Roborock-modellen verbeterd, zodat herverbinden, keepalive-controles en kaartoverdrachten betrouwbaarder zijn.\nLege afbeeldingen in mapBase64 en mapBase64Truncated opgelost.",
"pl": "Dodano obsługę Roborock Q10, w tym obsługę map dla tego modelu.\nDodano obsługę Roborock Saros Z70.\nUlepszono połączenia lokalne dla nowszych modeli Roborock, dzięki czemu ponowne połączenia, kontrole keepalive i przesyłanie map są bardziej niezawodne.\nNaprawiono puste obrazy w mapBase64 i mapBase64Truncated.",
"zh-cn": "新增对 Roborock Q10 的支持,包括该型号的地图处理。\n新增对 Roborock Saros Z70 的支持。\n改进了较新 Roborock 型号的本地连接,使重新连接、keepalive 检查和地图传输更加可靠。\n修复了 mapBase64 和 mapBase64Truncated 中的空图像。",
"uk": "Додано підтримку Roborock Q10, включно з обробкою карт для цієї моделі.\nДодано підтримку Roborock Saros Z70.\nПокращено локальні з'єднання для новіших моделей Roborock, щоб повторні підключення, перевірки keepalive і передавання карт були надійнішими.\nВиправлено порожні зображення в mapBase64 і mapBase64Truncated."
},
"0.7.0-beta.1": {
"en": "**Fix:** Request handling – message IDs are now assigned internally (externalId removed), avoiding ID conflicts.\n**Maps/Rooms:** Room states are only created for segments that exist on the loaded map for that floor; room names are taken only from the API so custom names are not overwritten.",
"de": "**Fix:** Anfragebehandlung - Nachrichten-IDs werden nun intern zugewiesen (externalId entfernt), wodurch ID-Konflikte vermieden werden.\n**Karten/Räume:** Raumzustände werden nur für Segmente erstellt, die auf der geladenen Karte für diese Etage existieren; Raumnamen werden nur von der API übernommen, sodass benutzerdefinierte Namen nicht überschrieben werden.",
"es": "**Corrección:** Gestión de solicitudes: los ID de los mensajes se asignan ahora internamente (se ha eliminado el ID externo), evitando conflictos de ID.\n**Mapas/Salas:** Los estados de las salas sólo se crean para los segmentos que existen en el mapa cargado para esa planta; los nombres de las salas se toman sólo de la API, por lo que los nombres personalizados no se sobrescriben.",
"fr": "**Correction:** Gestion des requêtes - les ID des messages sont maintenant assignés en interne (externalId supprimé), ce qui évite les conflits d'ID.\n**Les noms de pièces sont pris uniquement à partir de l'API afin que les noms personnalisés ne soient pas écrasés.",
"it": "**Correzione:** Gestione delle richieste: gli ID dei messaggi sono ora assegnati internamente (l'ID esterno è stato rimosso), evitando conflitti di ID.\n**Gli stati delle stanze vengono creati solo per i segmenti che esistono nella mappa caricata per quel piano; i nomi delle stanze vengono presi solo dall'API, quindi i nomi personalizzati non vengono sovrascritti.",
"ru": "**Исправление:** Обработка запросов - идентификаторы сообщений теперь присваиваются внутренне (externalId удален), что позволяет избежать конфликтов идентификаторов.\n**Карты/комнаты:** Состояния комнат создаются только для сегментов, которые существуют на загруженной карте для данного этажа; названия комнат берутся только из API, поэтому пользовательские названия не перезаписываются.",
"pt": "**Correção:** Tratamento de pedidos - os IDs das mensagens são agora atribuídos internamente (externalId removido), evitando conflitos de ID.\n**Mapas/Salas:** Os estados das salas só são criados para segmentos que existem no mapa carregado para esse piso; os nomes das salas são obtidos apenas a partir da API, pelo que os nomes personalizados não são substituídos.",
"nl": "**Fix:** Aanvraagafhandeling - bericht-ID's worden nu intern toegewezen (externalId verwijderd), waardoor ID-conflicten worden vermeden.\n**Maps/Rooms:** Kamertoestanden worden alleen aangemaakt voor segmenten die bestaan op de geladen map voor die verdieping; kamernamen worden alleen overgenomen van de API zodat aangepaste namen niet worden overschreven.",
"pl": "**Poprawka:** Obsługa żądań - identyfikatory wiadomości są teraz przypisywane wewnętrznie (usunięto externalId), co pozwala uniknąć konfliktów identyfikatorów.\n**Mapy/Pokoje:** Stany pokoi są tworzone tylko dla segmentów, które istnieją na załadowanej mapie dla tego piętra; nazwy pokoi są pobierane tylko z API, więc niestandardowe nazwy nie są nadpisywane.",
"zh-cn": "**修复:** 请求处理 - 消息 ID 现在由内部分配(外部 ID 已移除),避免了 ID 冲突。\n**地图/房间:** 房间状态只针对该楼层已加载地图上存在的区段创建;房间名称仅从应用程序接口获取,因此自定义名称不会被覆盖。",
"uk": "**Виправлено:** ID повідомлень обробляються без конфліктів.\n**Карти:** Кімнати створюються лише для сегментів на поточній карті."
},
"0.7.0-beta.0": {
"en": "**Maps:** Obstacle icons and map graphics are loaded automatically at startup so maps display correctly.\n**Breaking Change:** Major refactoring of the entire adapter structure.\n**New Feature:** Implemented 'Strict Startup' - Adapter prevents startup without valid login to avoid bootloops.\n**Improvement:** Enhanced 2FA logging and instructions for easier login troubleshooting.\n**Feature:** Responsive Design for Admin UI (thanks to simatec).\n**New Protocol:** Added support for B01 protocol (AES-128-CBC) used by newer devices (e.g., Qrevo Slim).\n**Map System:** Complete overhaul of map generation using `@napi-rs/canvas`:\nImproved room coloring and dark mode support.\nFixed coordinate scaling and Y-axis inversion issues.\n**Stability:** Fixed auto-relogin logic for invalid tokens.\n**Stability:** Resolved MQTT race conditions and connection instability.\n**Fix:** S6 MaxV Water Box & Fan Power attributes.\n**Fix:** Suction and mop intensity not showing (#1053).\n**Consumables:** Major refactoring to a data-driven, deterministic system mirroring the official Roborock app's \"Maintenance\" screen.\n**Translations:** Enhanced `TranslationManager` with case-insensitive lookups and 1:1 matching of native app labels (e.g., \"Staubbeutel\").\n**Reliability:** Added regression test suite for consumables, translations, and hour conversion logic.\n**Cleanup:** Removed duplicate/virtual percentage states in favor of authentic robot data.\n**Internal:** Modular feature handling and introduction of `lib/features/`.\n**Build:** Persistent caching for faster CI/CD.\n**Cleanup:** Removed daily build workflows.\n**Improved Map Retrieval:** Fixed issue where maps were not received over TCP by ignoring the initial \"ok\" acknowledgement and waiting for the actual map data via MQTT.\n**Network Probe:** Added Pre-Init Network Probe to detect local IP addresses via Cloud API before initialization, enabling faster local connection establishment (especially for Docker/VLAN setups).\n**UDP Discovery:** Implemented a 1.5s grace period for UDP discovery to better detect shared devices on the local network.\n**Bugfix:** Fixed infinite retry loop for failed Network Probes (Remote Devices).\n**Code Cleanup:** Removed extensive debug logging, buffering logic, and unused code for a cleaner codebase.\n**New devices:** Saros 20X, Q7 L5.\n**Fix:** Cleaning history (records) now updates correctly after a cleaning run.\n**Stability:** Adapter no longer gets stuck in a boot loop when login fails or returns an error.",
"de": "**Karten:** Hindernissymbole und Kartengrafiken werden beim Start automatisch geladen, so dass Karten korrekt angezeigt werden.\n**Bahnbrechende Änderung:** Umfangreiches Refactoring der gesamten Adapterstruktur.\n**Neues Feature:** Implementierung von 'Strict Startup' - Adapter verhindert den Start ohne gültigen Login, um Bootloops zu vermeiden.\n**Verbesserung:** Verbesserte 2FA-Protokollierung und Anweisungen für eine einfachere Fehlersuche bei der Anmeldung.\n**Erweiterung:** Responsive Design für Admin UI (Dank an simatec).\n**Neues Protokoll:** Unterstützung für das B01-Protokoll (AES-128-CBC), das von neueren Geräten (z.B. Qrevo Slim) verwendet wird, wurde hinzugefügt.\n**Kartensystem:** Komplette Überarbeitung der Kartenerstellung mit `@napi-rs/canvas`:\nVerbesserte Raumeinfärbung und Unterstützung des dunklen Modus.\nProbleme mit der Koordinatenskalierung und der Inversion der Y-Achse wurden behoben.\n**Stabilität:** Die Logik für die automatische Neuanmeldung bei ungültigen Token wurde behoben.\n**Stabilität:** Behebung von MQTT-Race Conditions und Verbindungsinstabilität.\n**Fix:** S6 MaxV Water Box & Fan Power Attribute.\n**Fix:** Absaug- und Wischintensität werden nicht angezeigt (#1053).\n**Verbrauchsmaterial:** Umfassende Umstrukturierung zu einem datengesteuerten, deterministischen System, das den \"Wartungs\"-Bildschirm der offiziellen Roborock-App widerspiegelt.\n**Übersetzungen:** Erweiterter `TranslationManager` mit Groß-/Kleinschreibung-unabhängiger Suche und 1:1-Übereinstimmung nativer App-Bezeichnungen (z.B. \"Staubbeutel\").\n**Zuverlässigkeit:** Regressionstestsuite für Verbrauchsmaterialien, Übersetzungen und Stundenumrechnungslogik hinzugefügt.\n**Aufräumen:** Doppelte/virtuelle Prozentwerte wurden zugunsten echter Roboterdaten entfernt.\n**Intern:** Modulare Handhabung von Features und Einführung von `lib/features/`.\n**Build:** Persistentes Caching für schnelleres CI/CD.\n**Cleanup:** Abschaffung der täglichen Build-Workflows.\n**Verbesserter Kartenabruf:** Problem behoben, bei dem Karten nicht über TCP empfangen wurden, indem die anfängliche \"ok\"-Bestätigung ignoriert und auf die tatsächlichen Kartendaten über MQTT gewartet wurde.\n**Network Probe:** Pre-Init Network Probe hinzugefügt, um lokale IP-Adressen über Cloud API vor der Initialisierung zu erkennen, was einen schnelleren lokalen Verbindungsaufbau ermöglicht (insbesondere für Docker/VLAN-Setups).\n**UDP Discovery:** Es wurde eine 1,5s Gnadenfrist für UDP Discovery implementiert, um gemeinsam genutzte Geräte im lokalen Netzwerk besser zu erkennen.\n**Bugfix:** Endlosschleife für fehlgeschlagene Network Probes (Remote Devices) behoben.\n**Codebereinigung:** Umfangreiche Debug-Protokollierung, Pufferlogik und unbenutzter Code wurden entfernt, um eine sauberere Codebasis zu erhalten.\n**Neue Geräte:** Saros 20X, Q7 L5.\n**Fix:** Der Reinigungsverlauf (Datensätze) wird jetzt nach einem Reinigungslauf korrekt aktualisiert.\n**Stabilität:** Der Adapter bleibt nicht mehr in einer Bootschleife stecken, wenn die Anmeldung fehlschlägt oder einen Fehler zurückgibt.",
"fr": "**Cartes:** Les icônes d'obstacles et les graphiques de cartes sont chargés automatiquement au démarrage afin que les cartes s'affichent correctement.\n**Changement radical:** Refonte majeure de toute la structure de l'adaptateur.\n**Nouvelle fonctionnalité:** Implémentation du 'Strict Startup' - L'adaptateur empêche le démarrage sans connexion valide afin d'éviter les boucles de démarrage.\n**Amélioration:** Amélioration de la journalisation et des instructions 2FA pour faciliter la résolution des problèmes de connexion.\n**Fonctionnalité:** Design réactif pour l'interface d'administration (merci à simatec).\n**Nouveau protocole:** Ajout du support pour le protocole B01 (AES-128-CBC) utilisé par les nouveaux appareils (par exemple, Qrevo Slim).\n**Système de cartes:** Révision complète de la génération de cartes utilisant `@napi-rs/canvas` :\nAmélioration de la coloration des pièces et du support du mode sombre.\nCorrection des problèmes de mise à l'échelle des coordonnées et d'inversion de l'axe Y.\n**Stabilité:** Correction de la logique de connexion automatique pour les tokens invalides.\n**Stabilité:**Résolution des conditions de course MQTT et de l'instabilité de la connexion.\n**Correction : Attributs de puissance de la boîte à eau et du ventilateur de la S6 MaxV.\n**Correction : L'intensité de l'aspiration et de la serpillière ne s'affiche pas (#1053).\n**Refonte majeure vers un système déterministe basé sur les données, reflétant l'écran \"Maintenance\" de l'application officielle Roborock.\n**Traductions:** Amélioration du `TranslationManager` avec des recherches insensibles à la casse et une correspondance 1:1 des labels de l'application native (par exemple, \"Staubbeutel\").\n**Fiabilité:** Ajout d'une suite de tests de régression pour les consommables, les traductions et la logique de conversion des heures.\n**Nettoyage:** Suppression des états de pourcentage dupliqués/virtuels en faveur des données authentiques du robot.\n**Interne:** Gestion modulaire des fonctionnalités et introduction de `lib/features/`.\n**Construction:** Mise en cache persistante pour un CI/CD plus rapide.\n**Nettoyage : Suppression des flux de travail quotidiens de construction.\n**Amélioration de la récupération des cartes:** Correction d'un problème où les cartes n'étaient pas reçues sur TCP en ignorant l'accusé de réception initial \"ok\" et en attendant les données réelles de la carte via MQTT.\n**Sonde réseau:** Ajout d'une sonde réseau avant l'initialisation pour détecter les adresses IP locales via l'API Cloud avant l'initialisation, ce qui permet d'établir une connexion locale plus rapidement (en particulier pour les configurations Docker/VLAN).\n**Découverte UDP:** Implémentation d'une période de grâce de 1,5s pour la découverte UDP afin de mieux détecter les périphériques partagés sur le réseau local.\n**Correction de bogues:**Réparation de la boucle de réessai infinie pour les sondes réseau (périphériques distants) qui échouent.\n**Nettoyage du code:** Suppression d'une grande partie de la journalisation de débogage, de la logique de mise en mémoire tampon et du code inutilisé pour une base de code plus propre.\n**Nouveaux appareils:** Saros 20X, Q7 L5.\n**Correction:** L'historique du nettoyage (enregistrements) est maintenant mis à jour correctement après un nettoyage.\n**Stabilité:** L'adaptateur n'est plus bloqué dans une boucle de démarrage lorsque la connexion échoue ou renvoie une erreur.",
"pl": "**Mapy:** Ikony przeszkód i grafiki map są ładowane automatycznie podczas uruchamiania, dzięki czemu mapy wyświetlają się poprawnie.\n**Przełomowa zmiana:** Poważna refaktoryzacja całej struktury adaptera.\n**Nowa funkcja:** Zaimplementowano \"ścisłe uruchamianie\" - adapter zapobiega uruchomieniu bez poprawnego logowania, aby uniknąć pętli rozruchowych.\n**Ulepszenie:** Ulepszone logowanie 2FA i instrukcje ułatwiające rozwiązywanie problemów z logowaniem.\n**Funkcjonalność:** Responsywny wygląd interfejsu administratora (dzięki simatec).\n**Nowy protokół:** Dodano obsługę protokołu B01 (AES-128-CBC) używanego przez nowsze urządzenia (np. Qrevo Slim).\n**System map:** Całkowity przegląd generowania map przy użyciu `@napi-rs/canvas`:\nUlepszone kolorowanie pomieszczeń i obsługa trybu ciemnego.\nNaprawiono skalowanie współrzędnych i inwersję osi Y.\n**Stabilność:** Naprawiono logikę automatycznego logowania dla nieprawidłowych tokenów.\n**Stabilność:** Naprawiono warunki wyścigu MQTT i niestabilność połączenia.\n**Poprawka:** Atrybuty zasilania pojemnika na wodę i wentylatora S6 MaxV.\n**Poprawka:** Niewyświetlanie intensywności ssania i mopa (#1053).\n**Materiały eksploatacyjne:** Większa refaktoryzacja do opartego na danych, deterministycznego systemu odzwierciedlającego ekran \"Konserwacja\" oficjalnej aplikacji Roborock.\n**Tłumaczenia:** Ulepszony `TranslationManager` z wyszukiwaniem niewrażliwym na wielkość liter i dopasowywaniem 1:1 natywnych etykiet aplikacji (np. \"Staubbeutel\").\n**Niezawodność:** Dodano zestaw testów regresji dla materiałów eksploatacyjnych, tłumaczeń i logiki konwersji godzin.\n**Czyszczenie:** Usunięto zduplikowane/wirtualne stany procentowe na rzecz autentycznych danych robota.\n**Wewnętrzne:** Modułowa obsługa funkcji i wprowadzenie `lib/features/`.\n**Build:** Trwałe buforowanie dla szybszego CI/CD.\n**Czyszczenie:** Usunięto codzienne przepływy pracy kompilacji.\n**Ulepszone pobieranie map:** Naprawiono błąd, w którym mapy nie były odbierane przez TCP, ignorując początkowe potwierdzenie \"ok\" i czekając na rzeczywiste dane mapy za pośrednictwem MQTT.\n**Network Probe:** Dodano Pre-Init Network Probe do wykrywania lokalnych adresów IP za pośrednictwem Cloud API przed inicjalizacją, umożliwiając szybsze nawiązywanie połączeń lokalnych (szczególnie w przypadku konfiguracji Docker/VLAN).\n**UDP Discovery:** Zaimplementowano 1,5-sekundowy okres karencji dla wykrywania UDP, aby lepiej wykrywać współdzielone urządzenia w sieci lokalnej.\n**Poprawa błędów:** Naprawiono nieskończoną pętlę ponawiania dla nieudanych prób sieciowych (urządzenia zdalne).\n**Czyszczenie kodu:** Usunięto obszerne rejestrowanie debugowania, logikę buforowania i nieużywany kod w celu uzyskania czystszej bazy kodu.\n**Nowe urządzenia:** Saros 20X, Q7 L5.\n**Poprawka:** Historia czyszczenia (rekordy) jest teraz poprawnie aktualizowana po uruchomieniu czyszczenia.\n**Stabilność:** Adapter nie utknie już w pętli rozruchowej, gdy logowanie nie powiedzie się lub zwróci błąd.",
"es": "**Mapas:** Los iconos de obstáculos y los gráficos de mapas se cargan automáticamente al inicio para que los mapas se muestren correctamente.\n**Cambio radical:** Importante refactorización de toda la estructura del adaptador.\n**Nueva característica:** Implementado 'Inicio estricto' - Adaptador impide el arranque sin inicio de sesión válido para evitar bootloops.\n**Mejora:** Registro 2FA mejorado e instrucciones para facilitar la solución de problemas de inicio de sesión.\n**Característica:** Diseño adaptable de la interfaz de administración (gracias a simatec).\n**Nuevo Protocolo:** Añadido soporte para el protocolo B01 (AES-128-CBC) utilizado por los dispositivos más nuevos (por ejemplo, Qrevo Slim).\n**Sistema de mapas:** Revisión completa de la generación de mapas usando `@napi-rs/canvas`:\nMejoras en la coloración de las habitaciones y soporte de modo oscuro.\nArreglado el escalado de coordenadas y los problemas de inversión del eje Y.\n**Estabilidad:** Corregida la lógica de auto-relogin para tokens inválidos.\n**Estabilidad:** Resueltas las condiciones de carrera MQTT y la inestabilidad de la conexión.\n**Corrección:** Caja de agua S6 MaxV y atributos de potencia del ventilador.\n**Corrección:** No se muestra la intensidad de la succión y la mopa (#1053).\n**Consumibles:** Importante refactorización a un sistema determinista basado en datos que refleja la pantalla \"Mantenimiento\" de la aplicación oficial Roborock.\n**Traducciones:** `TranslationManager` mejorado con búsquedas que no distinguen mayúsculas de minúsculas y coincidencia 1:1 de etiquetas nativas de la aplicación (por ejemplo, \"Staubbeutel\").\n**Fiabilidad:** Añadido conjunto de pruebas de regresión para consumibles, traducciones y lógica de conversión de horas.\n**Limpieza:** Eliminados estados de porcentaje duplicados/virtuales en favor de datos de robot auténticos.\n**Interno:** Manejo de características modulares e introducción de `lib/features/`.\n**Construcción:Almacenamiento en caché persistente para un CI/CD más rápido.\n**Limpieza:** Eliminación de los flujos de trabajo diarios.\n**Recuperación de mapas mejorada:** Solucionado un problema por el que los mapas no se recibían a través de TCP ignorando el acuse de recibo inicial \"ok\" y esperando los datos reales del mapa a través de MQTT.\n**Sonda de red:** Añadida sonda de red preinicio para detectar direcciones IP locales a través de la API de la nube antes de la inicialización, lo que permite un establecimiento de conexión local más rápido (especialmente para configuraciones Docker/VLAN).\n**UDP Discovery:** Implementado un período de gracia de 1,5s para el descubrimiento de UDP para detectar mejor los dispositivos compartidos en la red local.\n**Corrección de errores:** Corregido el bucle de reintento infinito para sondas de red fallidas (dispositivos remotos).\n**Limpieza de código:** Eliminado el registro de depuración extensa, la lógica de almacenamiento en búfer, y el código no utilizado para una base de código más limpio.\n**Nuevos dispositivos:** Saros 20X, Q7 L5.\n**Corrección:** El historial de limpieza (registros) ahora se actualiza correctamente después de una limpieza.\n**Estabilidad:** Adaptador ya no se queda atascado en un bucle de arranque cuando el inicio de sesión falla o devuelve un error.",
"zh-cn": "**地图:** 启动时自动加载障碍物图标和地图图形,以便正确显示地图。\n**重大改动:** 对整个适配器结构进行了重大重构。\n**新功能:** 实现 \"严格启动\"--适配器可防止在未有效登录的情况下启动,以避免启动循环。\n**改进:** 增强了 2FA 登录日志和说明,以便更轻松地排除登录故障。\n**功能:** 管理用户界面的响应式设计(感谢 simatec)。\n**新协议:** 添加了对较新设备(如 Qrevo Slim)使用的 B01 协议(AES-128-CBC)的支持。\n**地图系统:** 使用\"@napi-rs/canvas \"全面检查地图生成:\n改进了房间着色和暗模式支持。\n修复了坐标缩放和 Y 轴反转问题。\n**稳定性:** 修复了无效令牌的自动重新登录逻辑。\n**稳定性:** 解决了 MQTT 竞争条件和连接不稳定问题。\n**修复:** S6 MaxV 水箱和风扇电源属性。\n**修复:** 吸力和拖把强度未显示(#1053)。\n**耗材:** 主要重构为数据驱动的确定性系统,与 Roborock 官方应用程序的 \"维护 \"屏幕保持一致。\n**翻译:** 增强了 \"翻译管理器\"(TranslationManager),可进行不区分大小写的查找,并与本地应用程序标签(如 \"Staubbeutel\")进行 1:1 匹配。\n**可靠性:** 为消耗品、翻译和小时转换逻辑添加了回归测试套件。\n**清理:** 删除重复/虚拟的百分比状态,转而使用真实的机器人数据。\n**内部:** 模块化功能处理并引入 \"lib/features/\"。\n**构建:** 持久缓存,加快 CI/CD。\n**清理:** 删除日常构建工作流。\n**改进地图检索:** 通过忽略初始 \"确定 \"确认并通过 MQTT 等待实际地图数据,修复了通过 TCP 无法接收地图的问题。\n**网络探测器:** 添加了预初始化网络探测器,以便在初始化之前通过云 API 检测本地 IP 地址,从而加快本地连接的建立(尤其是 Docker/VLAN 设置)。\n**UDP 发现:** 为 UDP 发现实施了 1.5 秒宽限期,以更好地检测本地网络上的共享设备。\n**错误修正:** 修复了网络探测器(远程设备)失败时的无限重试循环。\n**代码清理:** 删除大量调试日志、缓冲逻辑和未使用的代码,使代码库更简洁。\n**新增设备:** Saros 20X、Q7 L5。\n**修复:** 清洁历史(记录)现在可在清洁运行后正确更新。\n**稳定性:** 当登录失败或返回错误时,适配器不再陷入启动循环。",
"it": "**Mappe:** Le icone degli ostacoli e la grafica delle mappe vengono caricate automaticamente all'avvio, in modo che le mappe vengano visualizzate correttamente.\n**Cambiamento radicale:** Rifattorizzazione dell'intera struttura dell'adattatore.\n**Nuova caratteristica:** Implementato \"Strict Startup\" - L'adattatore impedisce l'avvio senza un login valido per evitare bootloop.\n**Miglioramento:** Miglioramento della registrazione e delle istruzioni 2FA per facilitare la risoluzione dei problemi di accesso.\n**Feature:** Design reattivo per l'interfaccia amministrativa (grazie a simatec).\n**Nuovo protocollo:** Aggiunto il supporto per il protocollo B01 (AES-128-CBC) utilizzato dai dispositivi più recenti (ad esempio, Qrevo Slim).\n**Sistema di mappe:** Completa revisione della generazione di mappe utilizzando `@napi-rs/canvas`:\nMigliorata la colorazione delle stanze e il supporto della modalità scura.\nRisolti i problemi di scalatura delle coordinate e di inversione dell'asse Y.\n**Stabilità:** Sistemata la logica di auto-relogin per i token non validi.\n**Stabilità:** Risolte le condizioni di gara MQTT e l'instabilità della connessione.\n**Correzione:** Attributi di potenza del box dell'acqua e della ventola di S6 MaxV.\n**Correzione:** L'intensità dell'aspirazione e del mop non viene visualizzata (#1053).\n**Consumabili:** Rifattorizzazione importante per un sistema deterministico basato sui dati che rispecchia la schermata \"Manutenzione\" dell'app ufficiale Roborock.\n**Traduzioni:** Migliorato il `TranslationManager` con ricerche senza distinzione tra maiuscole e minuscole e corrispondenza 1:1 delle etichette native dell'app (ad esempio, \"Staubbeutel\").\n**Affidabilità:** Aggiunta una suite di test di regressione per i materiali di consumo, le traduzioni e la logica di conversione oraria.\n**Pulizia:** Rimossi gli stati percentuali duplicati/virtuali a favore dei dati autentici del robot.\n**Interno:** Gestione modulare delle caratteristiche e introduzione di `lib/features/`.\n**Build:** Caching persistente per un CI/CD più veloce.\n**Pulizia:** Rimossi i flussi di lavoro di compilazione giornalieri.\n**Miglioramento del recupero delle mappe:** Risolto il problema per cui le mappe non venivano ricevute via TCP, ignorando il riconoscimento iniziale \"ok\" e aspettando i dati effettivi della mappa via MQTT.\n**Sonda di rete:** Aggiunta la sonda di rete pre-inizializzazione per rilevare gli indirizzi IP locali tramite l'API Cloud prima dell'inizializzazione, consentendo di stabilire più rapidamente la connessione locale (soprattutto per le configurazioni Docker/VLAN).\n**Scoperta UDP:** Implementato un periodo di grazia di 1,5 secondi per la scoperta UDP, per rilevare meglio i dispositivi condivisi sulla rete locale.\n**Bugfix:** Corretto il ciclo di ripetizione infinito per le sonde di rete fallite (dispositivi remoti).\n**Pulizia del codice:** Rimossi i log di debug, la logica di buffering e il codice inutilizzato per una base di codice più pulita.\n**Nuovi dispositivi:** Saros 20X, Q7 L5.\n**Correzione:** La cronologia della pulizia (record) ora si aggiorna correttamente dopo un'operazione di pulizia.\n**Stabilità: ** L'adattatore non si blocca più in un ciclo di avvio quando il login fallisce o restituisce un errore.",
"nl": "**Kaarten:** Obstakelpictogrammen en kaartgrafieken worden automatisch geladen bij het opstarten zodat kaarten correct worden weergegeven.\n**Verbrekende verandering:** Grote refactoring van de gehele adapterstructuur.\n**Nieuwe Feature:** 'Strict Startup' geïmplementeerd - Adapter voorkomt opstarten zonder geldige login om bootloops te voorkomen.\n**Verbetering:** Verbeterde 2FA logging en instructies voor eenvoudiger problemen met inloggen.\n**Verbetering:** Responsief ontwerp voor beheerdersinterface (met dank aan simatec).\n**Nieuw protocol:** Ondersteuning toegevoegd voor B01 protocol (AES-128-CBC) gebruikt door nieuwere apparaten (bijv. Qrevo Slim).\n**Kaartsysteem:** Volledige herziening van het genereren van kaarten met behulp van `@napi-rs/canvas`:\nVerbeterde room coloring en ondersteuning voor donkere modus.\nProblemen met schalen van coördinaten en inversie van de Y-as opgelost.\n**Stabiliteit:** Logica voor automatisch inloggen bij ongeldige tokens opgelost.\n**Stabiliteit:** MQTT-condities en verbindingsinstabiliteit opgelost.\n**Fix:** S6 MaxV Water Box & Fan Power attributen.\n**Fix:** Afzuig- en mopintensiteit worden niet weergegeven (#1053).\n**Verbruiksartikelen:** Grote refactoring naar een datagestuurd, deterministisch systeem dat het scherm \"Onderhoud\" van de officiële Roborock-app weerspiegelt.\n**Vertalingen:** Verbeterde `TranslationManager` met hoofdletter-ongevoelige lookups en 1:1 matching van native app labels (bijv. \"Staubbeutel\").\n**Betrouwbaarheid:** Regressietestsuite toegevoegd voor verbruiksartikelen, vertalingen en logica voor uurconversie.\n**Opschoning:** Dubbele/virtuele percentage-toestanden verwijderd ten gunste van authentieke robotgegevens.\n**Internal:** Modulaire afhandeling van functies en introductie van `lib/features/`.\n**Build:** Persistent cachen voor snellere CI/CD.\n**Schoonmaak:** Dagelijkse bouwworkflows verwijderd.\n**Verbeterd ophalen van kaarten:** Probleem opgelost waarbij kaarten niet werden ontvangen via TCP door de initiële \"ok\" bevestiging te negeren en te wachten op de daadwerkelijke kaartgegevens via MQTT.\n**Netwerkprobe:** Pre-Init netwerkprobe toegevoegd om lokale IP-adressen te detecteren via Cloud API vóór initialisatie, waardoor een snellere lokale verbinding kan worden opgezet (vooral voor Docker/VLAN-opstellingen).\n**UDP Discovery:** Een respijtperiode van 1,5s voor UDP-detectie geïmplementeerd om gedeelde apparaten op het lokale netwerk beter te detecteren.\n**Bugfix:** Oneindige herhalingslus voor mislukte netwerkprobes (externe apparaten) opgelost.\n**Code opgeschoond:** Uitgebreide debug logging, buffering logica en ongebruikte code verwijderd voor een schonere codebase.\n**Nieuwe apparaten:** Saros 20X, Q7 L5.\n**Reparatie:** De reinigingsgeschiedenis (records) wordt nu correct bijgewerkt na een reinigingsronde.\n**Stabiliteit:** Adapter blijft niet langer hangen in een opstartlus wanneer aanmelden mislukt of een foutmelding geeft.",
"pt": "**Mapas:** Os ícones de obstáculos e os gráficos dos mapas são carregados automaticamente no arranque para que os mapas sejam apresentados corretamente.\n**Mudança radical:** Grande refatoração de toda a estrutura do adaptador.\n**Nova funcionalidade:** Implementação de \"Arranque rigoroso\" - o adaptador impede o arranque sem um início de sessão válido para evitar bootloops.\n**Melhoria:** Registo e instruções 2FA melhorados para facilitar a resolução de problemas de início de sessão.\n**Funcionalidade:** Design responsivo para a IU de administração (graças a simatec).\n**Novo protocolo:** Adicionado suporte para o protocolo B01 (AES-128-CBC) usado por dispositivos mais recentes (por exemplo, Qrevo Slim).\n**Sistema de Mapas:** Revisão completa da geração de mapas usando `@napi-rs/canvas`:\nMelhoria na coloração das salas e suporte ao modo escuro.\nCorrigido o escalonamento de coordenadas e problemas de inversão do eixo Y.\n**Estabilidade:** Corrigida a lógica de auto-relogin para tokens inválidos.\n**Estabilidade:** Resolvidas condições de corrida MQTT e instabilidade de ligação.\n**Correção:** Atributos de potência da caixa de água e da ventoinha do S6 MaxV.\n**Correção:** A intensidade da sucção e da esfregona não é apresentada (#1053).\n**Consumíveis:** Grande refatoração para um sistema determinístico e orientado por dados que espelha o ecrã \"Manutenção\" da aplicação oficial Roborock.\n**Traduções:** Melhoria do `TranslationManager` com pesquisas sem distinção entre maiúsculas e minúsculas e correspondência 1:1 de rótulos de aplicações nativas (por exemplo, \"Staubbeutel\").\n**Fiabilidade:** Adicionado conjunto de testes de regressão para consumíveis, traduções e lógica de conversão de horas.\n**Limpeza:** Remoção de estados de percentagem duplicados/virtuais a favor de dados autênticos do robô.\n**Interno:** Manuseamento modular de funcionalidades e introdução de `lib/features/`.\n**Build:** Cache persistente para CI/CD mais rápido.\n**Cleanup:** Removidos os fluxos de trabalho diários de compilação.\n**Recuperação de mapas melhorada:** Corrigido o problema em que os mapas não eram recebidos por TCP, ignorando a confirmação inicial \"ok\" e aguardando os dados reais do mapa via MQTT.\n**Sonda de rede:** Adicionada sonda de rede pré-inicialização para detetar endereços IP locais via API de nuvem antes da inicialização, permitindo o estabelecimento mais rápido de conexão local (especialmente para configurações de Docker/VLAN).\n**Descoberta de UDP:** Implementado um período de carência de 1,5s para descoberta de UDP para detetar melhor os dispositivos compartilhados na rede local.\n**Correção de bug:** Corrigido loop de repetição infinita para sondas de rede com falha (dispositivos remotos).\n**Limpeza de código:** Removido o registo de depuração extensivo, a lógica de armazenamento em buffer e o código não utilizado para uma base de código mais limpa.\n**Novos dispositivos:** Saros 20X, Q7 L5.\n**Correção:** O histórico de limpeza (registos) é agora atualizado corretamente após uma execução de limpeza.\n**Estabilidade:** O adaptador já não fica preso num ciclo de arranque quando o início de sessão falha ou devolve um erro.",
"ru": "**Карты:** Иконки препятствий и графика карт загружаются автоматически при запуске, поэтому карты отображаются корректно.\n**Основное изменение:** Крупный рефакторинг всей структуры адаптера.\n**Новая особенность:** Реализован \"строгий запуск\" - адаптер предотвращает запуск без действительного логина, чтобы избежать зацикливания.\n**Улучшение:** Улучшенная регистрация 2FA и инструкции для облегчения поиска и устранения неисправностей при входе.\n**Дополнение:** Отзывчивый дизайн для пользовательского интерфейса администратора (спасибо simatec).\n**Новый протокол:** Добавлена поддержка протокола B01 (AES-128-CBC), используемого новыми устройствами (например, Qrevo Slim).\n**Система карт:** Полностью переработана генерация карт с использованием `@napi-rs/canvas`:\nУлучшена раскраска комнат и поддержка темного режима.\nИсправлены проблемы с масштабированием координат и инверсией оси Y.\n**Стабильность:** Исправлена логика автоперелогинивания при недействительных токенах.\n**Стабильность:** Устранены условия гонки MQTT и нестабильность соединения.\n**Исправление:** Атрибуты мощности водяного блока и вентилятора S6 MaxV.\n**Исправление:** Не отображается интенсивность всасывания и швабры (#1053).\n**Общие:** Большой рефакторинг до детерминированной системы, основанной на данных, зеркально отражающей экран \"Обслуживание\" официального приложения Roborock.\n**Переводы:** Улучшен `TranslationManager` с чувствительным к регистру поиском и 1:1 соответствием ярлыкам родного приложения (например, \"Staubbeutel\").\n**Надежность:** Добавлен набор регрессионных тестов для расходных материалов, переводов и логики преобразования часов.\n**Очистка:** Удалены дублирующие/виртуальные процентные состояния в пользу подлинных данных робота.\n**Internal:** Модульная обработка функций и внедрение `lib/features/`.\n**Build:** Постоянное кэширование для ускорения CI/CD.\n**Cleanup:** Удалены ежедневные рабочие процессы сборки.\n**Улучшенное получение карт:** Исправлена проблема, когда карты не получались по TCP, игнорируя первоначальное подтверждение \"ok\" и ожидая фактических данных карты через MQTT.\n**Network Probe:** Добавлен Pre-Init Network Probe для определения локальных IP-адресов через Cloud API перед инициализацией, что позволяет ускорить установление локального соединения (особенно для Docker/VLAN установок).\n**UDP Discovery:** Реализован льготный период в 1,5 с для обнаружения UDP для лучшего обнаружения общих устройств в локальной сети.\n**Исправление:** Исправлен бесконечный цикл повторных попыток для неудачных сетевых зондов (удаленные устройства).\n**Очистка кода:** Удалены обширные логи отладки, логика буферизации и неиспользуемый код для более чистой кодовой базы.\n**Новые устройства:** Saros 20X, Q7 L5.\n**Исправление:** История очистки (записи) теперь корректно обновляется после выполнения очистки.\n**Стабильность:** Адаптер больше не застревает в цикле загрузки при неудачном входе в систему или возврате ошибки.",
"uk": "**Карти:** Іконки перешкод і графіка карт завантажуються автоматично при запуску, тому карти відображаються коректно.\n**Основна зміна:** Великий рефакторинг усієї структури адаптера.\n**Нова особливість:** Реалізовано \"суворий запуск\" — адаптер запобігає запуску без дійсного логіну, щоб уникнути зациклення.\n**Покращення:** Покращена реєстрація 2FA та інструкції для полегшення усунення несправностей при вході.\n**Доповнення:** Адаптивний дизайн для інтерфейсу адміністратора (подяка simatec).\n**Новий протокол:** Додано підтримку протоколу B01 (AES-128-CBC), що використовується новими пристроями (наприклад, Qrevo Slim).\n**Система карт:** Повністю перероблено генерацію карт із використанням `@napi-rs/canvas`:\nПокращено розфарбовування кімнат та підтримку темного режиму.\nВиправлено проблеми з масштабуванням координат та інверсією осі Y.\n**Стабільність:** Виправлено логіку автоперелогіну при недійсних токенах.\n**Стабільність:** Усунуто умови гонки MQTT та нестабільність з’єднання.\n**Виправлення:** Атрибути потужності водяного блоку та вентилятора S6 MaxV.\n**Виправлення:** Не відображається інтенсивність всмоктування та швабри (#1053).\n**Споживні матеріали:** Великий рефакторинг до детермінованої системи на основі даних, що відображає екран \"Обслуговування\" офіційного додатку Roborock.\n**Переклади:** Покращено `TranslationManager` з пошуком без урахування регістру та відповідністю 1:1 міток рідного додатку (наприклад, \"Staubbeutel\").\n**Надійність:** Додано набір регресійних тестів для витратних матеріалів, перекладів та логіки перетворення годин.\n**Очищення:** Видалено дубльовані/віртуальні відсоткові стани на користь справжніх даних робота.\n**Internal:** Модульна обробка функцій та впровадження `lib/features/`.\n**Build:** Постійне кешування для прискорення CI/CD.\n**Cleanup:** Видалено щоденні робочі процеси збірки.\n**Покращене отримання карт:** Виправлено проблему, коли карти не отримувалися по TCP, ігноруючи початкове підтвердження \"ok\" та очікуючи фактичні дані карти через MQTT.\n**Network Probe:** Додано Pre-Init Network Probe для визначення локальних IP-адрес через Cloud API перед ініціалізацією, що дозволяє прискорити встановлення локального з’єднання (особливо для Docker/VLAN).\n**UDP Discovery:** Реалізовано льготний період 1,5 с для виявлення UDP для кращого виявлення спільних пристроїв у локальній мережі.\n**Виправлення:** Виправлено нескінченний цикл повторних спроб для невдалих мережевих зондів (віддалені пристрої).\n**Очищення коду:** Видалено обширне налагоджувальне логування, логіку буферизації та невикористаний код для чистішої кодової бази.\n**Нові пристрої:** Saros 20X, Q7 L5.\n**Виправлення:** Історія очищення (записи) тепер коректно оновлюється після виконання очищення.\n**Стабільність:** Адаптер більше не застрягає в циклі завантаження при невдалому вході в систему або поверненні помилки."
},
"0.6.19": {
"en": "Rewrite of mqtt connection logic\nAdd missing features to Qrevo Slim\nStart websocket & web server onReady\nUpdate LICENSE\nUpdate README.md",
"de": "Rewrite der mqtt-Verbindungslogik\nFügen Sie fehlende Funktionen zu Qrevo Slim hinzu\nStarten Sie Websocket & Webserver aufReady\nAktualisierung LICENSE\nUpdate README.md",
"ru": "Переписать логику связи mqtt\nДобавить недостающие функции в Qrevo Slim\nНачните веб-сервер наReady\nОбновление LICENSE\nОбновление README.md",
"pt": "Reescrever a lógica de conexão mqtt\nAdicionar recursos ausentes ao Qrevo Slim\nIniciar websocket & servidor web noReady\nAtualizar LICENSE\nAtualização README.md",
"nl": "Herschrijven van mqtt-verbindingslogica\nOntbrekende functies toevoegen aan Qrevo Slim\nStart websocket & webserver onReady\nLICENSE bijwerken\nREADME.md bijwerken",
"fr": "Réécriture de la logique de connexion mqtt\nAjouter des fonctionnalités manquantes à Qrevo Slim\nDémarrer websocket & serveur web surReady\nMettre à jour LICENSE\nMettre à jour README.md",
"it": "Riscrittura della logica di connessione di mqtt\nAggiungi le caratteristiche mancanti a Qrevo Slim\nAvviare websocket & web server suReady\nAggiornamento LICENSE\nAggiornamento README.md",
"es": "Reescribir la lógica de conexión mqtt\nAñadir características desaparecidas a Qrevo Slim\nInicio websocket & servidor web enReady\nActualización LICENSE\nActualizar README.md",
"pl": "Przepisz logikę połączenia mqtt\nDodaj brakujące funkcje do Qrevo Slim\nUruchom websocket i serwer WWW onReady\nAktualizacja LICENCJI\nAktualizacja README.md",
"uk": "Перезапис логіки з'єднання mqtt\nДодати відсутні функції до Qrevo Slim\nВеб-сервер наReady\nОновлення LICENSE\nОновлення README.md",
"zh-cn": "重写 mqtt 连接逻辑\n添加缺失的特性到 Qrevo Slim\n在 Ready 上启动 Websocket 服务器( W)\n更新自由度\n更新 README.md"
}
},
"titleLang": {
"en": "Roborock",
"de": "Roborock",
"ru": "Роборок",
"pt": "Roborock",
"nl": "Roborock",
"fr": "Roborock",
"it": "Roborock",
"es": "roborock",
"pl": "Roborock",
"uk": "Роборок",
"zh-cn": "石头"
},
"desc": {
"en": "roborock",
"de": "Roborock",
"ru": "роборок",
"pt": "roborock",
"nl": "roborock",
"fr": "roborock",
"it": "Roborock",
"es": "roborock",
"pl": "roborock",
"uk": "Роборок",
"zh-cn": "机器人摇滚"
},
"authors": [
"copystring <copystring@gmail.com>"
],
"keywords": [
"roborock",
"template",
"home automation"
],
"licenseInformation": {
"license": "MIT",
"type": "free",
"link": "https://github.com/copystring/ioBroker.roborock/blob/main/README.md"
},
"platform": "Javascript/Node.js",
"icon": "roborock.png",
"enabled": true,
"extIcon": "https://raw.githubusercontent.com/copystring/ioBroker.roborock/main/admin/roborock.png",
"readme": "https://github.com/copystring/ioBroker.roborock/blob/main/README.md",
"loglevel": "info",
"mode": "daemon",
"type": "household",
"compact": true,
"connectionType": "cloud",
"dataSource": "poll",
"adminUI": {
"config": "json",
"tab": "html"
},
"adminTab": {
"name": {
"en": "Roborock",
"de": "Roborock",
"ru": "Roborock",
"pt": "Roborock",
"nl": "Roborock",
"fr": "Roborock",
"it": "Roborock",
"es": "Roborock",
"pl": "Roborock",
"zh-cn": "Roborock"
},
"link": "%web_protocol%://%ip%:%web_port%/roborock/index.html?instance=%instance%"
},
"localLinks": {
"_default": "%web_protocol%://%ip%:%web_port%/roborock/index.html?instance=%instance%"
},
"messagebox": true,
"dependencies": [
{
"js-controller": ">=6.0.11",
"web": ">=4.0.0"
}
],
"globalDependencies": [
{
"admin": ">=7.6.20"
}
],
"plugins": {
"sentry": {
"dsn": "https://40474f3cac0c421c85afce616de6ec2d@o4504748727664640.ingest.sentry.io/4504748727664640"
}
}
},
"encryptedNative": [
"username",
"password",
"cameraPin"
],
"protectedNative": [
"username",
"password",
"cameraPin"
],
"native": {
"loginMethod": "email",
"username": "",
"password": "",
"enable_map_creation": false,
"updateInterval": 60,
"hostname_ip": "iobroker",
"cameraPin": 1234,
"region": "eu",
"map_theme": "dark"
},
"objects": [],
"instanceObjects": [
{
"_id": "info",
"type": "channel",
"common": {
"name": "Information"
},
"native": {}
},
{
"_id": "info.connection",
"type": "state",
"common": {
"role": "indicator.connected",
"name": "Device or service connected",
"type": "boolean",
"read": true,
"write": false,
"def": false
},
"native": {}
}
]
}