iobroker.zeptrion 1.0.4 → 1.0.6
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 +8 -26
- package/io-package.json +27 -27
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -192,6 +192,13 @@ npm run test:integration # starts a real js-controller (takes longer)
|
|
|
192
192
|
|
|
193
193
|
## Changelog
|
|
194
194
|
|
|
195
|
+
### 1.0.6 (2026-07-22)
|
|
196
|
+
- Fix: reverted validatorErrorText for id/host/travelTimeSecCh back to plain strings - the admin jsonConfig schema requires validatorErrorText to be a string, not an i18n object (E5512). The i18n conversion in 1.0.5 passed lint but failed schema validation.
|
|
197
|
+
|
|
198
|
+
### 1.0.5 (2026-07-22)
|
|
199
|
+
- Admin UI: the three `validatorErrorText` messages are now inline i18n objects instead of plain English strings (ioBroker checker W5617).
|
|
200
|
+
- Dependencies: raised the declared minimums for `bonjour-service` (^1.2.1 -> ^1.4.3) and `eslint` (^10.6.0 -> ^10.7.0); both were already covered by the existing caret ranges, so no behaviour changes.
|
|
201
|
+
|
|
195
202
|
### 1.0.4 (2026-07-21)
|
|
196
203
|
- Documentation only: added a Buy Me a Coffee link next to the PayPal donate badge. No functional changes.
|
|
197
204
|
|
|
@@ -209,32 +216,7 @@ npm run test:integration # starts a real js-controller (takes longer)
|
|
|
209
216
|
- First 1.0 release - the adapter has reached a stable, complete feature set (multicast command bundling, mDNS discovery, hail bulk commands, position estimation, Smartfront support, CSV import, full i18n).
|
|
210
217
|
- FIX: the previous release corrected calibrate/ntp.per roles and the info.connection translation, but ensureState() never updates an object that already exists - so installations updated from an older version kept the old, incorrect objects forever. Added a one-time startup migration that force-corrects exactly those known objects via extendObjectAsync(), without touching anything else (including the adapter's own built-in root info.connection object).
|
|
211
218
|
|
|
212
|
-
### 0.8.6
|
|
213
|
-
- Corrected object role/type mismatches found by the ioBroker store submission's object structure check: calibrate and ntp.per used role 'value', which strictly requires read=true/write=false and does not fit these intentionally writable states - changed to role 'level'. Also added the missing full i18n translation for info.connection.
|
|
214
|
-
|
|
215
|
-
### 0.8.5 (2026-07-16)
|
|
216
|
-
- Enabled automated npm releases via GitHub Actions using npm Trusted Publishing (OIDC) - no more manual publishing, and this and all future tagged releases are automatically signed with npm provenance. No functional/API changes.
|
|
217
|
-
|
|
218
|
-
### 0.8.4 (2026-07-16)
|
|
219
|
-
- Cleanup release addressing the ioBroker adapter store checker findings, no functional/behavioral changes
|
|
220
|
-
- Updated fast-xml-parser 4.5.7 -> 5.9.3, eslint, mocha, chai and the testing-action-check GitHub Action (verified identical XML parsing output for the zrap API response shapes used by this adapter)
|
|
221
|
-
- Removed devDependencies already bundled by @iobroker/testing
|
|
222
|
-
- Fixed jsonConfig.json i18n declaration (was "true" without an admin/i18n directory) and added missing translations for the work area "kind" dropdown options
|
|
223
|
-
- Added package-lock.json and aligned dependabot.yml/auto-merge workflow with the current ioBroker-Bot templates
|
|
224
|
-
|
|
225
|
-
### 0.8.3 (2026-07-14)
|
|
226
|
-
- CI workflow activated (lint + tests on every push/PR via GitHub Actions), removed redundant duplicate icon file at repo root (only admin/zeptrion.png is used), cleaned up outdated publish instructions in README
|
|
227
|
-
|
|
228
|
-
### 0.8.2
|
|
229
|
-
- Per-channel motor travel time override (new "Travel/ch (s)" column and CSV column): 2K/4K devices where individual channels have different shutter travel times can now be configured correctly - previously only one travel time applied to all channels of a device
|
|
230
|
-
|
|
231
|
-
### 0.8.1
|
|
232
|
-
- Channel commands (open/close/stop/dim/...) are now logged at info level on send (single and multicast), including failures on warn level - previously only system commands were logged
|
|
233
|
-
|
|
234
|
-
### 0.8.0
|
|
235
|
-
- Fixed orphaned states remaining after a device is removed/replaced (objects are now cleaned up on start), official Feller zeptrion logo as icon (used with permission)
|
|
236
|
-
|
|
237
|
-
### 0.7.0 and older
|
|
219
|
+
### 0.8.6 and older
|
|
238
220
|
|
|
239
221
|
Older changelog entries can be found in [CHANGELOG_OLD.md](CHANGELOG_OLD.md).
|
|
240
222
|
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "zeptrion",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.6",
|
|
5
5
|
"news": {
|
|
6
|
+
"1.0.6": {
|
|
7
|
+
"en": "Fix: reverted validatorErrorText for id/host/travelTimeSecCh back to plain strings - the admin jsonConfig schema requires validatorErrorText to be a string, not an i18n object (E5512). The i18n conversion in 1.0.5 passed lint but failed schema validation.",
|
|
8
|
+
"de": "Fix: validatorErrorText für id/host/travelTimeSecCh wieder auf einfache Strings zurückgesetzt - das Admin-jsonConfig-Schema verlangt für validatorErrorText zwingend einen String, kein i18n-Objekt (E5512). Die i18n-Umstellung in 1.0.5 bestand den Linter, aber nicht die Schema-Validierung.",
|
|
9
|
+
"ru": "Исправление: validatorErrorText для id/host/travelTimeSecCh снова стали простыми строками - схема admin jsonConfig требует, чтобы validatorErrorText был строкой, а не объектом i18n (E5512). Преобразование в i18n в версии 1.0.5 прошло линтер, но не прошло проверку схемы.",
|
|
10
|
+
"pt": "Correção: validatorErrorText para id/host/travelTimeSecCh revertido para strings simples - o esquema admin jsonConfig exige que validatorErrorText seja uma string, não um objeto i18n (E5512). A conversão para i18n na 1.0.5 passou no lint mas falhou na validação do esquema.",
|
|
11
|
+
"nl": "Fix: validatorErrorText voor id/host/travelTimeSecCh teruggezet naar gewone strings - het admin jsonConfig-schema vereist dat validatorErrorText een string is, geen i18n-object (E5512). De i18n-conversie in 1.0.5 kwam door de linter maar niet door de schemavalidatie.",
|
|
12
|
+
"fr": "Correction : validatorErrorText pour id/host/travelTimeSecCh remis en chaînes simples - le schéma admin jsonConfig exige que validatorErrorText soit une chaîne, pas un objet i18n (E5512). La conversion i18n dans la 1.0.5 passait le lint mais pas la validation du schéma.",
|
|
13
|
+
"it": "Correzione: validatorErrorText per id/host/travelTimeSecCh riportato a semplici stringhe - lo schema admin jsonConfig richiede che validatorErrorText sia una stringa, non un oggetto i18n (E5512). La conversione i18n nella 1.0.5 superava il lint ma non la validazione dello schema.",
|
|
14
|
+
"es": "Corrección: validatorErrorText para id/host/travelTimeSecCh revertido a cadenas simples - el esquema admin jsonConfig exige que validatorErrorText sea una cadena, no un objeto i18n (E5512). La conversión a i18n en 1.0.5 pasaba el lint pero no la validación del esquema.",
|
|
15
|
+
"pl": "Poprawka: validatorErrorText dla id/host/travelTimeSecCh przywrócono do zwykłych ciągów znaków - schemat admin jsonConfig wymaga, aby validatorErrorText był ciągiem znaków, a nie obiektem i18n (E5512). Konwersja i18n w 1.0.5 przechodziła linter, ale nie walidację schematu.",
|
|
16
|
+
"uk": "Виправлення: validatorErrorText для id/host/travelTimeSecCh повернуто до звичайних рядків - схема admin jsonConfig вимагає, щоб validatorErrorText був рядком, а не об'єктом i18n (E5512). Перетворення на i18n у версії 1.0.5 проходило лінтер, але не проходило валідацію схеми.",
|
|
17
|
+
"zh-cn": "修复:将 id/host/travelTimeSecCh 的 validatorErrorText 恢复为普通字符串——管理端 jsonConfig 架构要求 validatorErrorText 必须是字符串,而非 i18n 对象(E5512)。1.0.5 中的 i18n 转换通过了 lint 检查,但未通过架构校验。"
|
|
18
|
+
},
|
|
19
|
+
"1.0.5": {
|
|
20
|
+
"en": "Admin UI: the three validatorErrorText messages are now inline i18n objects instead of plain English strings; raised the declared minimum versions for bonjour-service and eslint (both already covered by the existing caret ranges). No functional changes.",
|
|
21
|
+
"de": "Admin-UI: Die drei validatorErrorText-Meldungen sind jetzt Inline-i18n-Objekte statt reiner englischer Texte; die deklarierten Mindestversionen für bonjour-service und eslint wurden angehoben (beide waren durch die bestehenden Caret-Ranges ohnehin abgedeckt). Keine funktionalen Änderungen.",
|
|
22
|
+
"ru": "Интерфейс администратора: три сообщения validatorErrorText теперь являются встроенными объектами i18n вместо простых английских строк; повышены объявленные минимальные версии bonjour-service и eslint (обе и так покрывались существующими caret-диапазонами). Без функциональных изменений.",
|
|
23
|
+
"pt": "Interface de administração: as três mensagens validatorErrorText são agora objetos i18n inline em vez de texto simples em inglês; foram aumentadas as versões mínimas declaradas de bonjour-service e eslint (ambas já cobertas pelos intervalos caret existentes). Sem alterações funcionais.",
|
|
24
|
+
"nl": "Admin-UI: de drie validatorErrorText-meldingen zijn nu inline i18n-objecten in plaats van gewone Engelse tekst; de gedeclareerde minimumversies van bonjour-service en eslint zijn verhoogd (beide vielen al binnen de bestaande caret-ranges). Geen functionele wijzigingen.",
|
|
25
|
+
"fr": "Interface d'administration : les trois messages validatorErrorText sont désormais des objets i18n en ligne au lieu de simples chaînes anglaises ; les versions minimales déclarées de bonjour-service et eslint ont été relevées (toutes deux étaient déjà couvertes par les plages caret existantes). Aucune modification fonctionnelle.",
|
|
26
|
+
"it": "Interfaccia di amministrazione: i tre messaggi validatorErrorText sono ora oggetti i18n inline invece di semplici stringhe in inglese; sono state alzate le versioni minime dichiarate di bonjour-service ed eslint (entrambe già coperte dagli intervalli caret esistenti). Nessuna modifica funzionale.",
|
|
27
|
+
"es": "Interfaz de administración: los tres mensajes validatorErrorText son ahora objetos i18n en línea en lugar de simples cadenas en inglés; se han elevado las versiones mínimas declaradas de bonjour-service y eslint (ambas ya cubiertas por los rangos caret existentes). Sin cambios funcionales.",
|
|
28
|
+
"pl": "Interfejs administratora: trzy komunikaty validatorErrorText są teraz obiektami i18n zamiast zwykłych angielskich ciągów; podniesiono deklarowane wersje minimalne bonjour-service i eslint (obie i tak były objęte istniejącymi zakresami caret). Brak zmian funkcjonalnych.",
|
|
29
|
+
"uk": "Інтерфейс адміністратора: три повідомлення validatorErrorText тепер є вбудованими об'єктами i18n замість простих англійських рядків; підвищено оголошені мінімальні версії bonjour-service та eslint (обидві й так покривалися наявними caret-діапазонами). Без функціональних змін.",
|
|
30
|
+
"zh-cn": "管理界面:三条 validatorErrorText 提示现在使用内联 i18n 对象,而非纯英文字符串;提高了 bonjour-service 和 eslint 的声明最低版本(两者原本就在现有 caret 范围内)。无功能性更改。"
|
|
31
|
+
},
|
|
6
32
|
"1.0.4": {
|
|
7
33
|
"en": "Documentation only: added a Buy Me a Coffee link next to the PayPal donate badge in README.md/README_de.md and the npm package (funding field). No functional changes.",
|
|
8
34
|
"de": "Nur Dokumentation: Buy-Me-a-Coffee-Link neben dem PayPal-Spenden-Badge in README.md/README_de.md sowie im npm-Paket (funding-Feld) ergänzt. Keine funktionalen Änderungen.",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "Pierwsze wydanie 1.0. POPRAWKA: poprzednie wydanie naprawiło role calibrate/ntp.per oraz tłumaczenie info.connection, ale ensureState() nigdy nie aktualizuje już istniejącego obiektu - instalacje zaktualizowane ze starszej wersji na stałe zachowywały więc stare, błędne obiekty. Dodano jednorazową migrację przy starcie.",
|
|
68
94
|
"uk": "Перший реліз 1.0. ВИПРАВЛЕННЯ: попередній реліз виправив ролі calibrate/ntp.per та переклад info.connection, але ensureState() ніколи не оновлює вже існуючий об'єкт - тому інсталяції, оновлені зі старішої версії, назавжди зберігали старі, неправильні об'єкти. Додано одноразову міграцію під час запуску.",
|
|
69
95
|
"zh-cn": "首个 1.0 版本。修复:上一版本修正了 calibrate/ntp.per 角色和 info.connection 翻译,但 ensureState() 从不更新已存在的对象——因此从旧版本升级的安装会永久保留旧的、不正确的对象。新增了一次性启动迁移来强制修正这些已知对象。"
|
|
70
|
-
},
|
|
71
|
-
"0.8.6": {
|
|
72
|
-
"en": "Corrected object role/type mismatches found by the ioBroker store submission's object structure check: calibrate and ntp.per used role 'value', which strictly requires read=true/write=false and does not fit these intentionally writable states - changed to role 'level'. Also added the missing full i18n translation for info.connection. No functional/API changes - purely metadata (common.role/common.name) corrections.",
|
|
73
|
-
"de": "Objekt-Rollen-/Typ-Abweichungen behoben, die beim Objektstruktur-Check der ioBroker-Store-Einreichung gefunden wurden: calibrate und ntp.per nutzten die Rolle 'value', die zwingend read=true/write=false erfordert und nicht zu diesen bewusst schreibbaren States passt - auf Rolle 'level' umgestellt. Zusätzlich die fehlende vollständige i18n-Übersetzung für info.connection ergänzt. Keine funktionalen/API-Änderungen - reine Metadaten-Korrekturen (common.role/common.name).",
|
|
74
|
-
"ru": "Исправлены несоответствия ролей/типов объектов, найденных при проверке структуры объектов для подачи в магазин ioBroker: calibrate и ntp.per использовали роль 'value', которая строго требует read=true/write=false и не подходит для этих намеренно записываемых состояний - изменено на роль 'level'. Также добавлен отсутствующий полный перевод i18n для info.connection.",
|
|
75
|
-
"pt": "Corrigidas incompatibilidades de função/tipo de objeto encontradas na verificação da estrutura de objetos da submissão à loja ioBroker: calibrate e ntp.per usavam a função 'value', que exige estritamente read=true/write=false e não se adequa a estes estados intencionalmente graváveis - alterado para a função 'level'. Também foi adicionada a tradução i18n completa em falta para info.connection.",
|
|
76
|
-
"nl": "Object rol/type-mismatches gecorrigeerd die zijn gevonden bij de objectstructuurcontrole van de ioBroker store-inzending: calibrate en ntp.per gebruikten de rol 'value', die strikt read=true/write=false vereist en niet past bij deze bewust schrijfbare states - gewijzigd naar rol 'level'. Ook de ontbrekende volledige i18n-vertaling voor info.connection toegevoegd.",
|
|
77
|
-
"fr": "Correction des incohérences de rôle/type d'objet détectées lors de la vérification de la structure des objets pour la soumission au store ioBroker : calibrate et ntp.per utilisaient le rôle 'value', qui exige strictement read=true/write=false et ne convient pas à ces états volontairement modifiables - changé en rôle 'level'. La traduction i18n complète manquante pour info.connection a également été ajoutée.",
|
|
78
|
-
"it": "Corrette le discrepanze di ruolo/tipo degli oggetti riscontrate durante il controllo della struttura degli oggetti per l'invio allo store ioBroker: calibrate e ntp.per utilizzavano il ruolo 'value', che richiede rigorosamente read=true/write=false e non si adatta a questi stati intenzionalmente scrivibili - cambiato in ruolo 'level'. Aggiunta anche la traduzione i18n completa mancante per info.connection.",
|
|
79
|
-
"es": "Se corrigieron discrepancias de rol/tipo de objeto encontradas en la verificación de estructura de objetos del envío a la tienda ioBroker: calibrate y ntp.per usaban el rol 'value', que requiere estrictamente read=true/write=false y no encaja con estos estados intencionalmente escribibles - cambiado a rol 'level'. También se añadió la traducción i18n completa faltante para info.connection.",
|
|
80
|
-
"pl": "Naprawiono niezgodności ról/typów obiektów wykryte podczas sprawdzania struktury obiektów zgłoszenia do sklepu ioBroker: calibrate i ntp.per używały roli 'value', która wymaga ściśle read=true/write=false i nie pasuje do tych celowo zapisywalnych stanów - zmieniono na rolę 'level'. Dodano również brakujące pełne tłumaczenie i18n dla info.connection.",
|
|
81
|
-
"uk": "Виправлено невідповідності ролей/типів об'єктів, знайдені під час перевірки структури об'єктів для подання до магазину ioBroker: calibrate і ntp.per використовували роль 'value', яка суворо вимагає read=true/write=false і не підходить для цих навмисно записуваних станів - змінено на роль 'level'. Також додано відсутній повний переклад i18n для info.connection.",
|
|
82
|
-
"zh-cn": "修复了在 ioBroker 商店提交的对象结构检查中发现的对象角色/类型不匹配问题:calibrate 和 ntp.per 使用了角色 'value',该角色严格要求 read=true/write=false,不适合这些故意可写的状态——已更改为角色 'level'。同时还补充了 info.connection 缺失的完整 i18n 翻译。"
|
|
83
|
-
},
|
|
84
|
-
"0.8.5": {
|
|
85
|
-
"en": "Enabled automated npm releases via GitHub Actions using npm Trusted Publishing (OIDC) - no more manual publishing, and this and all future tagged releases are automatically signed with npm provenance. No functional/API changes.",
|
|
86
|
-
"de": "Automatisierte npm-Releases über GitHub Actions mittels npm Trusted Publishing (OIDC) aktiviert - kein manuelles Veröffentlichen mehr nötig, dieses und alle künftigen getaggten Releases werden automatisch mit npm-Provenance signiert. Keine funktionalen Änderungen/API-Änderungen.",
|
|
87
|
-
"ru": "Включены автоматические релизы на npm через GitHub Actions с использованием npm Trusted Publishing (OIDC) - больше не требуется ручная публикация, этот и все будущие релизы с тегами автоматически подписываются npm provenance. Без функциональных изменений.",
|
|
88
|
-
"pt": "Ativados os lançamentos automáticos no npm via GitHub Actions usando npm Trusted Publishing (OIDC) - já não é necessária a publicação manual, esta e todas as futuras versões com tag são automaticamente assinadas com npm provenance. Sem alterações funcionais/de API.",
|
|
89
|
-
"nl": "Geautomatiseerde npm-releases via GitHub Actions ingeschakeld met npm Trusted Publishing (OIDC) - handmatig publiceren is niet meer nodig, deze en alle toekomstige getagde releases worden automatisch ondertekend met npm provenance. Geen functionele/API-wijzigingen.",
|
|
90
|
-
"fr": "Publications npm automatisées via GitHub Actions activées grâce à npm Trusted Publishing (OIDC) - plus besoin de publier manuellement, cette version et toutes les futures versions taguées sont automatiquement signées avec la provenance npm. Aucun changement fonctionnel/API.",
|
|
91
|
-
"it": "Abilitate le release npm automatizzate tramite GitHub Actions usando npm Trusted Publishing (OIDC) - non è più necessaria la pubblicazione manuale, questa e tutte le future release taggate vengono firmate automaticamente con la provenance npm. Nessuna modifica funzionale/API.",
|
|
92
|
-
"es": "Se habilitaron los lanzamientos automáticos de npm mediante GitHub Actions usando npm Trusted Publishing (OIDC) - ya no es necesario publicar manualmente, esta y todas las futuras versiones etiquetadas se firman automáticamente con la procedencia de npm. Sin cambios funcionales/de API.",
|
|
93
|
-
"pl": "Włączono automatyczne wydania npm za pośrednictwem GitHub Actions przy użyciu npm Trusted Publishing (OIDC) - ręczna publikacja nie jest już konieczna, to i wszystkie przyszłe otagowane wydania są automatycznie podpisywane provenance npm. Brak zmian funkcjonalnych/API.",
|
|
94
|
-
"uk": "Увімкнено автоматичні релізи npm через GitHub Actions за допомогою npm Trusted Publishing (OIDC) - ручна публікація більше не потрібна, цей і всі майбутні релізи з тегами автоматично підписуються npm provenance. Без функціональних змін.",
|
|
95
|
-
"zh-cn": "已通过 GitHub Actions 使用 npm Trusted Publishing(OIDC)启用自动化 npm 发布——不再需要手动发布,此版本及所有未来的带标签版本都将自动附带 npm provenance 签名。无功能/API 变更。"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.zeptrion",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "ioBroker Adapter für Feller zeptrion / zApp WLAN-Aktoren (WLAN-Nebenstelle 4K, WLAN-Zwischenmodul 2K) über die zrap Webservice API - inkl. Sammelbefehlen für Hagelalarm und mDNS-Discovery",
|
|
5
5
|
"author": "Stefan Bühler",
|
|
6
6
|
"license": "MIT",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"@iobroker/adapter-core": "^3.4.2",
|
|
44
44
|
"axios": "^1.18.1",
|
|
45
45
|
"fast-xml-parser": "^5.9.3",
|
|
46
|
-
"bonjour-service": "^1.
|
|
46
|
+
"bonjour-service": "^1.4.3"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@iobroker/testing": "^5.3.0",
|
|
50
|
-
"eslint": "^10.
|
|
50
|
+
"eslint": "^10.7.0",
|
|
51
51
|
"@tsconfig/node22": "^22.0.5",
|
|
52
52
|
"@types/node": "^22.20.1"
|
|
53
53
|
},
|