iobroker.laundrylens 0.4.12 → 0.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -105,6 +105,9 @@ The defaults are tuned for Siemens iQ appliances. Detection threshold is a trade
105
105
 
106
106
  ### **WORK IN PROGRESS**
107
107
 
108
+ ### 0.4.13 (2026-08-27)
109
+ - Fix: the `running` state's name was still German ("Läuft") on existing installations, even though the code has said "Running" for a long time - it was missing from the state-name migration list added in 0.4.12 (found via a fresh object dump). Extended `tests/test_english_only.js` to check that every state id is covered by the migration, catching this kind of gap automatically going forward
110
+
108
111
  ### 0.4.12 (2026-08-26)
109
112
  - Fix: all log messages and state names are now in English (found via the ioBroker.repositories manual review - PR #6459) - several were still German, including `forceFinish`/`programOverride`/`lastMessage` and others
110
113
  - Fix: the `forceFinish` button state now correctly has `read: false`, matching the ioBroker role specification for `role: "button"`
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "laundrylens",
4
- "version": "0.4.12",
4
+ "version": "0.4.13",
5
5
  "news": {
6
+ "0.4.13": {
7
+ "en": "Fix: the \"running\" state's name was still German (\"Läuft\") on existing installations, even though the code has said \"Running\" for a long time - it was simply missing from the state-name migration list added in 0.4.12. Found via a fresh object dump. Added a test that checks every state id is covered by the migration, to catch this kind of gap automatically going forward.",
8
+ "de": "Fix: Der Name des Status \"running\" war auf bestehenden Installationen noch Deutsch (\"Läuft\"), obwohl der Code schon lange \"Running\" sagt - er fehlte schlicht in der in 0.4.12 hinzugefügten State-Namen-Migrationsliste. Gefunden über einen frischen Object-Dump. Test ergänzt, der prüft, dass jede State-ID von der Migration abgedeckt ist, damit diese Art von Lücke künftig automatisch auffällt.",
9
+ "ru": "Исправление: имя состояния \"running\" на существующих установках всё ещё было немецким (\"Läuft\"), хотя код уже давно использует \"Running\" - оно просто отсутствовало в списке миграции имён состояний, добавленном в 0.4.12. Найдено через свежий дамп объектов. Добавлен тест, проверяющий, что каждый идентификатор состояния охвачен миграцией.",
10
+ "pt": "Correção: o nome do estado \"running\" ainda estava em alemão (\"Läuft\") em instalações existentes, embora o código já dissesse \"Running\" há muito tempo - simplesmente estava ausente da lista de migração de nomes de estado adicionada na 0.4.12. Encontrado através de um dump de objetos recente. Adicionado um teste que verifica se cada id de estado está coberto pela migração.",
11
+ "nl": "Fix: de naam van de \"running\"-status was op bestaande installaties nog Duits (\"Läuft\"), hoewel de code al lang \"Running\" zegt - deze ontbrak simpelweg in de lijst met statenaam-migraties die in 0.4.12 is toegevoegd. Gevonden via een verse object-dump. Test toegevoegd die controleert of elke state-id door de migratie wordt gedekt.",
12
+ "fr": "Correction : le nom de l'état \"running\" était encore en allemand (\"Läuft\") sur les installations existantes, alors que le code dit \"Running\" depuis longtemps - il manquait simplement dans la liste de migration des noms d'états ajoutée en 0.4.12. Trouvé via un dump d'objets récent. Ajout d'un test qui vérifie que chaque id d'état est couvert par la migration.",
13
+ "it": "Correzione: il nome dello stato \"running\" era ancora in tedesco (\"Läuft\") sulle installazioni esistenti, anche se il codice dice \"Running\" da tempo - mancava semplicemente nell'elenco di migrazione dei nomi di stato aggiunto nella 0.4.12. Trovato tramite un nuovo dump degli oggetti. Aggiunto un test che verifica che ogni id di stato sia coperto dalla migrazione.",
14
+ "es": "Corrección: el nombre del estado \"running\" seguía en alemán (\"Läuft\") en instalaciones existentes, aunque el código dice \"Running\" desde hace tiempo - simplemente faltaba en la lista de migración de nombres de estado añadida en la 0.4.12. Encontrado mediante un volcado de objetos reciente. Se añadió una prueba que verifica que cada id de estado esté cubierto por la migración.",
15
+ "pl": "Poprawka: nazwa stanu \"running\" na istniejących instalacjach nadal była niemiecka (\"Läuft\"), mimo że kod od dawna używa \"Running\" - po prostu brakowało jej na liście migracji nazw stanów dodanej w 0.4.12. Znalezione dzięki nowemu zrzutowi obiektów. Dodano test sprawdzający, czy każdy identyfikator stanu jest objęty migracją.",
16
+ "uk": "Виправлення: назва стану \"running\" на наявних інсталяціях досі була німецькою (\"Läuft\"), хоча код уже давно каже \"Running\" - її просто бракувало в списку міграції назв станів, доданому в 0.4.12. Знайдено через свіжий дамп об'єктів. Додано тест, який перевіряє, що кожен ідентифікатор стану охоплено міграцією.",
17
+ "zh-cn": "修复:现有安装中\"running\"状态的名称仍为德文(\"Läuft\"),尽管代码早已使用\"Running\"——它只是在 0.4.12 中添加的状态名称迁移列表中被遗漏了。通过最新的对象转储发现此问题。新增了一个测试,用于检查每个状态 ID 是否都被迁移覆盖,以便日后自动发现此类遗漏。"
18
+ },
6
19
  "0.4.12": {
7
20
  "en": "Fixes from the ioBroker.repositories manual review (PR #6459): all log messages and state names are now in English (previously several were German); the forceFinish button state now correctly has read: false; existing installations are automatically migrated to the corrected English state names on next start; README requirements section corrected to match the actually enforced Node.js/js-controller versions, plus documentation on why the adapter ships a custom admin tab and a link to the recommended Shelly EM hardware. Also fixed a bug that made running multiple devices on one adapter instance (via native config's \"devices\" array) effectively impossible: the single configured device and the devices array were treated as mutually exclusive instead of combined. A dedicated admin UI for adding devices this way is still being worked on separately.",
8
21
  "de": "Fixes aus dem manuellen Review von ioBroker.repositories (PR #6459): alle Log-Meldungen und State-Namen sind jetzt auf Englisch (vorher waren mehrere auf Deutsch); der forceFinish-Button-State hat jetzt korrekt read: false; bestehende Installationen werden beim nächsten Start automatisch auf die korrigierten englischen State-Namen migriert; README-Anforderungen korrigiert, damit sie zu den tatsächlich vorausgesetzten Node.js-/js-controller-Versionen passen, außerdem Dokumentation, warum der Adapter einen eigenen Admin-Tab mitbringt, sowie ein Link zur empfohlenen Shelly-EM-Hardware. Außerdem einen Fehler behoben, der es praktisch unmöglich machte, mehrere Geräte auf einer Adapter-Instanz laufen zu lassen (über das „devices\"-Array in der nativen Konfiguration): Das einzelne konfigurierte Gerät und das Geräte-Array wurden als sich gegenseitig ausschließend behandelt statt kombiniert. Eine eigene Admin-Oberfläche zum Hinzufügen von Geräten auf diesem Weg wird noch separat entwickelt.",
@@ -80,19 +93,6 @@
80
93
  "pl": "Poprawka: na urządzeniach korzystających z ogólnej gałęzi historii faz (obecnie suszarki) zarejestrowane znaczniki czasu faz mogły pokazywać zupełnie błędne wartości (często duże liczby ujemne), ponieważ wewnętrzny bufor historii faz nigdy nie był czyszczony między cyklami i gromadził wpisy z każdego poprzedniego cyklu od uruchomienia adaptera. Poprawka: uwaga repository checkera (nieprawidłowa rola stanu \"value.percent\" dla cycleProgress, poprawiona na \"value\").",
81
94
  "uk": "Виправлення: на пристроях, що використовують загальну гілку історії фаз (наразі сушарки), записані часові мітки фаз могли показувати абсолютно неправильні значення (часто великі від'ємні числа), оскільки внутрішній буфер історії фаз ніколи не очищався між циклами і накопичував записи з кожного попереднього циклу з моменту запуску адаптера. Виправлення: зауваження repository checker (недійсна роль стану \"value.percent\" для cycleProgress, виправлено на \"value\").",
82
95
  "zh-cn": "修复:在使用通用阶段历史分支的设备上(目前是烘干机),记录的阶段时间戳可能显示完全错误的值(通常是很大的负数),因为内部阶段历史缓冲区从未在各个周期之间清空,而是持续累积自适配器启动以来每个历史周期的条目。修复:仓库检查器(repository checker)发现的问题(cycleProgress 上的无效状态角色 \"value.percent\",已更正为 \"value\")。"
83
- },
84
- "0.4.6": {
85
- "en": "No functional changes. Switched npm publishing to Trusted Publishing (OIDC) so this release is signed with provenance.",
86
- "de": "Keine funktionalen Änderungen. npm-Veröffentlichung auf Trusted Publishing (OIDC) umgestellt, sodass dieses Release mit Provenance signiert ist.",
87
- "ru": "Функциональных изменений нет. Публикация в npm переведена на Trusted Publishing (OIDC), поэтому этот релиз подписан с provenance.",
88
- "pt": "Sem alterações funcionais. A publicação no npm foi alterada para Trusted Publishing (OIDC), então este lançamento é assinado com provenance.",
89
- "nl": "Geen functionele wijzigingen. npm-publicatie omgezet naar Trusted Publishing (OIDC), waardoor deze release is ondertekend met provenance.",
90
- "fr": "Aucun changement fonctionnel. La publication npm est passée à Trusted Publishing (OIDC), cette version est donc signée avec provenance.",
91
- "it": "Nessuna modifica funzionale. La pubblicazione su npm è passata al Trusted Publishing (OIDC), quindi questa release è firmata con provenance.",
92
- "es": "Sin cambios funcionales. La publicación en npm ahora usa Trusted Publishing (OIDC), por lo que esta versión está firmada con provenance.",
93
- "pl": "Brak zmian funkcjonalnych. Publikacja w npm została przełączona na Trusted Publishing (OIDC), dzięki czemu to wydanie jest podpisane z provenance.",
94
- "uk": "Функціональних змін немає. Публікацію в npm переведено на Trusted Publishing (OIDC), тому цей реліз підписано з provenance.",
95
- "zh-cn": "无功能变更。npm 发布已切换为 Trusted Publishing(OIDC),因此本版本带有 provenance 签名。"
96
96
  }
97
97
  },
98
98
  "titleLang": {
package/main.js CHANGED
@@ -1812,6 +1812,7 @@ class WashdataAdapter extends utils.Adapter {
1812
1812
  */
1813
1813
  async _migrateStateNames(deviceId) {
1814
1814
  const migrations = {
1815
+ running: { name: "Running" },
1815
1816
  program: { name: "Detected program" },
1816
1817
  confidence: { name: "Confidence" },
1817
1818
  timeRemaining: { name: "Remaining time" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.laundrylens",
3
- "version": "0.4.12",
3
+ "version": "0.4.13",
4
4
  "description": "ioBroker adapter that detects washing machine and dryer cycles via smart plug power measurement, matches them against learned programs and estimates remaining time",
5
5
  "author": {
6
6
  "name": "backfisch88",