iobroker.zeptrion 1.0.2 → 1.0.4
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 -0
- package/io-package.json +217 -230
- package/package.json +60 -59
package/README.md
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
[](https://www.npmjs.com/package/iobroker.zeptrion)
|
|
7
7
|
[](https://github.com/bueste/ioBroker.zeptrion/actions)
|
|
8
8
|
[](LICENSE)
|
|
9
|
+
[](https://www.paypal.com/ncp/payment/TT6MTBLXX9L9U)
|
|
10
|
+
[](https://buymeacoffee.com/stefanbuehler)
|
|
9
11
|
|
|
10
12
|
Adapter for Feller **zeptrion / zApp** WLAN actuators (WLAN Nebenstelle 4K = zApp gateway,
|
|
11
13
|
WLAN Zwischenmodul 2K = zApp booster) for light and shutter/blind control, based on the
|
|
@@ -190,6 +192,12 @@ npm run test:integration # starts a real js-controller (takes longer)
|
|
|
190
192
|
|
|
191
193
|
## Changelog
|
|
192
194
|
|
|
195
|
+
### 1.0.4 (2026-07-21)
|
|
196
|
+
- Documentation only: added a Buy Me a Coffee link next to the PayPal donate badge. No functional changes.
|
|
197
|
+
|
|
198
|
+
### 1.0.3 (2026-07-17)
|
|
199
|
+
- Documentation only: fixed the PayPal donate link, which previously used the wrong URL format and did not work.
|
|
200
|
+
|
|
193
201
|
### 1.0.2 (2026-07-17)
|
|
194
202
|
- FIX: the global (adapter-level) info.connection translations added in 1.0.1 are only synced automatically by js-controller on certain update paths (e.g. 'iobroker upgrade'), not reliably when installing via 'iobroker url' - added this to the startup migration too, so it no longer depends on that.
|
|
195
203
|
|
package/io-package.json
CHANGED
|
@@ -1,236 +1,223 @@
|
|
|
1
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
|
-
"readme": "https://github.com/bueste/ioBroker.zeptrion/blob/main/README.md",
|
|
168
|
-
"type": "household",
|
|
169
|
-
"mode": "daemon",
|
|
170
|
-
"compact": true,
|
|
171
|
-
"connectionType": "local",
|
|
172
|
-
"dataSource": "poll",
|
|
173
|
-
"adminUI": {
|
|
174
|
-
"config": "json"
|
|
2
|
+
"common": {
|
|
3
|
+
"name": "zeptrion",
|
|
4
|
+
"version": "1.0.4",
|
|
5
|
+
"news": {
|
|
6
|
+
"1.0.4": {
|
|
7
|
+
"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
|
+
"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.",
|
|
9
|
+
"ru": "Только документация: добавлена ссылка Buy Me a Coffee рядом со значком пожертвования PayPal в README.md/README_de.md и в npm-пакете (поле funding). Без функциональных изменений.",
|
|
10
|
+
"pt": "Apenas documentação: adicionado um link Buy Me a Coffee junto ao badge de doação PayPal no README.md/README_de.md e no pacote npm (campo funding). Sem alterações funcionais.",
|
|
11
|
+
"nl": "Alleen documentatie: Buy Me a Coffee-link toegevoegd naast de PayPal-donatiebadge in README.md/README_de.md en het npm-pakket (funding-veld). Geen functionele wijzigingen.",
|
|
12
|
+
"fr": "Documentation uniquement : ajout d'un lien Buy Me a Coffee à côté du badge de don PayPal dans README.md/README_de.md et le paquet npm (champ funding). Aucun changement fonctionnel.",
|
|
13
|
+
"it": "Solo documentazione: aggiunto un link Buy Me a Coffee accanto al badge di donazione PayPal in README.md/README_de.md e nel pacchetto npm (campo funding). Nessuna modifica funzionale.",
|
|
14
|
+
"es": "Solo documentación: se añadió un enlace Buy Me a Coffee junto a la insignia de donación de PayPal en README.md/README_de.md y en el paquete npm (campo funding). Sin cambios funcionales.",
|
|
15
|
+
"pl": "Tylko dokumentacja: dodano link Buy Me a Coffee obok odznaki dotacji PayPal w README.md/README_de.md oraz w pakiecie npm (pole funding). Brak zmian funkcjonalnych.",
|
|
16
|
+
"uk": "Лише документація: додано посилання Buy Me a Coffee поруч зі значком пожертв PayPal у README.md/README_de.md та в пакеті npm (поле funding). Без функціональних змін.",
|
|
17
|
+
"zh-cn": "仅文档:在 README.md/README_de.md 及 npm 包(funding 字段)中,于 PayPal 捐赠徽章旁添加了 Buy Me a Coffee 链接。无功能变更。"
|
|
18
|
+
},
|
|
19
|
+
"1.0.3": {
|
|
20
|
+
"en": "Documentation only: fixed the PayPal donate link in README (en/de), which previously used the wrong URL format and did not work. No functional/object changes.",
|
|
21
|
+
"de": "Nur Dokumentation: den PayPal-Spenden-Link im README (en/de) korrigiert, der zuvor das falsche URL-Format hatte und nicht funktionierte. Keine funktionalen Änderungen/Objektänderungen.",
|
|
22
|
+
"ru": "Только документация: исправлена ссылка для пожертвований PayPal в README (en/de), которая ранее имела неверный формат URL и не работала. Без функциональных изменений.",
|
|
23
|
+
"pt": "Apenas documentação: corrigido o link de doação PayPal no README (en/de), que anteriormente tinha o formato de URL errado e não funcionava. Sem alterações funcionais.",
|
|
24
|
+
"nl": "Alleen documentatie: de PayPal-donatielink in README (en/de) gecorrigeerd, die voorheen het verkeerde URL-formaat had en niet werkte. Geen functionele wijzigingen.",
|
|
25
|
+
"fr": "Documentation uniquement : correction du lien de don PayPal dans le README (en/de), qui avait auparavant le mauvais format d'URL et ne fonctionnait pas. Aucun changement fonctionnel.",
|
|
26
|
+
"it": "Solo documentazione: corretto il link di donazione PayPal nel README (en/de), che in precedenza aveva il formato URL errato e non funzionava. Nessuna modifica funzionale.",
|
|
27
|
+
"es": "Solo documentación: se corrigió el enlace de donación de PayPal en el README (en/de), que anteriormente tenía el formato de URL incorrecto y no funcionaba. Sin cambios funcionales.",
|
|
28
|
+
"pl": "Tylko dokumentacja: naprawiono link do darowizn PayPal w README (en/de), który wcześniej miał zły format URL i nie działał. Brak zmian funkcjonalnych.",
|
|
29
|
+
"uk": "Лише документація: виправлено посилання для пожертв PayPal у README (en/de), яке раніше мало неправильний формат URL і не працювало. Без функціональних змін.",
|
|
30
|
+
"zh-cn": "仅文档:修正了 README(en/de)中的 PayPal 捐赠链接,此前该链接使用了错误的 URL 格式且无法正常使用。无功能变更。"
|
|
31
|
+
},
|
|
32
|
+
"1.0.2": {
|
|
33
|
+
"en": "FIX: the global (adapter-level) info.connection translations added in 1.0.1 are only synced automatically by js-controller on certain update paths (e.g. 'iobroker upgrade'), not reliably when installing via 'iobroker url' - added this to the startup migration too, so it no longer depends on that.",
|
|
34
|
+
"de": "FIX: die in 1.0.1 ergänzten Übersetzungen für das globale (adapter-eigene) info.connection werden von js-controller nur bei bestimmten Update-Wegen (z.B. 'iobroker upgrade') automatisch synchronisiert, nicht zuverlässig bei Installation via 'iobroker url' - auch in die Start-Migration aufgenommen, damit das nicht mehr davon abhängt.",
|
|
35
|
+
"ru": "ИСПРАВЛЕНИЕ: глобальные переводы info.connection, добавленные в 1.0.1, синхронизируются js-controller автоматически только при определённых способах обновления, ненадёжно при установке через 'iobroker url' - добавлено также в миграцию при запуске.",
|
|
36
|
+
"pt": "CORREÇÃO: as traduções globais de info.connection adicionadas na 1.0.1 só são sincronizadas automaticamente pelo js-controller em determinados caminhos de atualização, não de forma fiável ao instalar via 'iobroker url' - adicionado também à migração de arranque.",
|
|
37
|
+
"nl": "FIX: de globale info.connection-vertalingen toegevoegd in 1.0.1 worden alleen automatisch gesynchroniseerd door js-controller bij bepaalde update-paden, niet betrouwbaar bij installatie via 'iobroker url' - ook toegevoegd aan de opstartmigratie.",
|
|
38
|
+
"fr": "CORRECTIF : les traductions globales info.connection ajoutées en 1.0.1 ne sont synchronisées automatiquement par js-controller que sur certains chemins de mise à jour, pas de manière fiable lors d'une installation via 'iobroker url' - ajouté également à la migration au démarrage.",
|
|
39
|
+
"it": "CORREZIONE: le traduzioni globali di info.connection aggiunte nella 1.0.1 vengono sincronizzate automaticamente da js-controller solo su determinati percorsi di aggiornamento, non in modo affidabile quando si installa tramite 'iobroker url' - aggiunto anche alla migrazione all'avvio.",
|
|
40
|
+
"es": "CORRECCIÓN: las traducciones globales de info.connection añadidas en 1.0.1 solo se sincronizan automáticamente mediante js-controller en determinadas rutas de actualización, no de forma fiable al instalar mediante 'iobroker url' - añadido también a la migración de inicio.",
|
|
41
|
+
"pl": "POPRAWKA: globalne tłumaczenia info.connection dodane w 1.0.1 są automatycznie synchronizowane przez js-controller tylko przy określonych ścieżkach aktualizacji, niewiarygodnie przy instalacji przez 'iobroker url' - dodano również do migracji przy starcie.",
|
|
42
|
+
"uk": "ВИПРАВЛЕННЯ: глобальні переклади info.connection, додані в 1.0.1, синхронізуються js-controller автоматично лише за певних шляхів оновлення, ненадійно при встановленні через 'iobroker url' - додано також до міграції під час запуску.",
|
|
43
|
+
"zh-cn": "修复:1.0.1 中添加的全局 info.connection 翻译仅在特定更新路径(例如 'iobroker upgrade')下由 js-controller 自动同步,通过 'iobroker url' 安装时并不可靠——现已同样加入启动迁移中。"
|
|
44
|
+
},
|
|
45
|
+
"1.0.1": {
|
|
46
|
+
"en": "FIX: calibrate declared role 'level' but read=false - role 'level' requires read=true per the ioBroker role catalogue. Changed to read=true and extended the startup migration to also correct existing objects still holding the old read=false. Added the missing translations for the global info.connection object (was only en/de).",
|
|
47
|
+
"de": "FIX: calibrate deklarierte Rolle 'level', aber read=false - die Rolle 'level' erfordert laut ioBroker-Rollenkatalog read=true. Auf read=true geändert und die Start-Migration erweitert, damit auch bestehende Objekte mit dem alten read=false korrigiert werden. Fehlende Übersetzungen für das globale info.connection-Objekt ergänzt (waren nur en/de).",
|
|
48
|
+
"ru": "ИСПРАВЛЕНИЕ: calibrate объявлял роль 'level', но read=false - роль 'level' требует read=true согласно каталогу ролей ioBroker. Изменено на read=true, миграция при запуске расширена. Добавлены отсутствующие переводы для глобального объекта info.connection.",
|
|
49
|
+
"pt": "CORREÇÃO: calibrate declarava a função 'level', mas read=false - a função 'level' exige read=true segundo o catálogo de funções do ioBroker. Alterado para read=true, migração de arranque estendida. Adicionadas as traduções em falta para o objeto global info.connection.",
|
|
50
|
+
"nl": "FIX: calibrate declareerde rol 'level', maar read=false - rol 'level' vereist read=true volgens de ioBroker-rolcatalogus. Gewijzigd naar read=true, opstartmigratie uitgebreid. Ontbrekende vertalingen voor het globale info.connection-object toegevoegd.",
|
|
51
|
+
"fr": "CORRECTIF : calibrate déclarait le rôle 'level', mais read=false - le rôle 'level' nécessite read=true selon le catalogue de rôles ioBroker. Changé en read=true, migration au démarrage étendue. Traductions manquantes pour l'objet global info.connection ajoutées.",
|
|
52
|
+
"it": "CORREZIONE: calibrate dichiarava il ruolo 'level', ma read=false - il ruolo 'level' richiede read=true secondo il catalogo dei ruoli di ioBroker. Cambiato in read=true, migrazione all'avvio estesa. Aggiunte le traduzioni mancanti per l'oggetto globale info.connection.",
|
|
53
|
+
"es": "CORRECCIÓN: calibrate declaraba el rol 'level', pero read=false - el rol 'level' requiere read=true según el catálogo de roles de ioBroker. Cambiado a read=true, migración de inicio ampliada. Se añadieron las traducciones faltantes para el objeto global info.connection.",
|
|
54
|
+
"pl": "POPRAWKA: calibrate deklarował rolę 'level', ale read=false - rola 'level' wymaga read=true zgodnie z katalogiem ról ioBroker. Zmieniono na read=true, rozszerzono migrację przy starcie. Dodano brakujące tłumaczenia dla globalnego obiektu info.connection.",
|
|
55
|
+
"uk": "ВИПРАВЛЕННЯ: calibrate декларував роль 'level', але read=false - роль 'level' вимагає read=true згідно з каталогом ролей ioBroker. Змінено на read=true, розширено міграцію під час запуску. Додано відсутні переклади для глобального об'єкта info.connection.",
|
|
56
|
+
"zh-cn": "修复:calibrate 声明角色为 'level',但 read=false——根据 ioBroker 角色目录,角色 'level' 要求 read=true。已更改为 read=true,并扩展了启动迁移。补充了全局 info.connection 对象缺失的翻译。"
|
|
57
|
+
},
|
|
58
|
+
"1.0.0": {
|
|
59
|
+
"en": "First 1.0 release. 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). No other functional changes since 0.8.6 - the version bump to 1.0.0 reflects that 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).",
|
|
60
|
+
"de": "Erstes 1.0-Release. FIX: Das vorherige Release hat die calibrate/ntp.per-Rollen und die info.connection-Übersetzung korrigiert, aber ensureState() aktualisiert nie ein bereits existierendes Objekt - Installationen, die von einer älteren Version aktualisiert haben, behielten die alten, falschen Objekte dauerhaft. Eine einmalige Start-Migration ergänzt, die genau diese bekannten Objekte per extendObjectAsync() zwangskorrigiert, ohne sonst etwas anzufassen (auch nicht das adaptereigene, eingebaute root-info.connection-Objekt). Keine weiteren funktionalen Änderungen seit 0.8.6 - der Sprung auf 1.0.0 spiegelt wider, dass der Adapter einen stabilen, vollständigen Funktionsumfang erreicht hat (Multicast-Befehlsbündelung, mDNS-Discovery, Hagel-Sammelbefehle, Positionsschätzung, Smartfront-Unterstützung, CSV-Import, vollständige i18n).",
|
|
61
|
+
"ru": "Первый релиз 1.0. ИСПРАВЛЕНИЕ: предыдущий релиз исправил роли calibrate/ntp.per и перевод info.connection, но ensureState() никогда не обновляет уже существующий объект - поэтому установки, обновлённые с более старой версии, навсегда сохраняли старые, неверные объекты. Добавлена одноразовая миграция при запуске, принудительно исправляющая именно эти известные объекты.",
|
|
62
|
+
"pt": "Primeiro lançamento 1.0. CORREÇÃO: o lançamento anterior corrigiu as funções calibrate/ntp.per e a tradução info.connection, mas ensureState() nunca atualiza um objeto já existente - por isso as instalações atualizadas de uma versão mais antiga mantinham para sempre os objetos antigos incorretos. Adicionada uma migração única no arranque.",
|
|
63
|
+
"nl": "Eerste 1.0-release. FIX: de vorige release corrigeerde de calibrate/ntp.per-rollen en de info.connection-vertaling, maar ensureState() werkt nooit een reeds bestaand object bij - installaties bijgewerkt vanaf een oudere versie behielden dus permanent de oude, onjuiste objecten. Eenmalige opstartmigratie toegevoegd.",
|
|
64
|
+
"fr": "Première version 1.0. CORRECTIF : la version précédente a corrigé les rôles calibrate/ntp.per et la traduction info.connection, mais ensureState() ne met jamais à jour un objet déjà existant - les installations mises à jour depuis une version plus ancienne conservaient donc indéfiniment les anciens objets incorrects. Migration unique au démarrage ajoutée.",
|
|
65
|
+
"it": "Prima versione 1.0. CORREZIONE: la versione precedente ha corretto i ruoli calibrate/ntp.per e la traduzione info.connection, ma ensureState() non aggiorna mai un oggetto già esistente - le installazioni aggiornate da una versione precedente mantenevano quindi per sempre i vecchi oggetti errati. Aggiunta una migrazione una tantum all'avvio.",
|
|
66
|
+
"es": "Primera versión 1.0. CORRECCIÓN: la versión anterior corrigió los roles calibrate/ntp.per y la traducción de info.connection, pero ensureState() nunca actualiza un objeto ya existente, por lo que las instalaciones actualizadas desde una versión anterior conservaban para siempre los objetos antiguos incorrectos. Se añadió una migración única al inicio.",
|
|
67
|
+
"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
|
+
"uk": "Перший реліз 1.0. ВИПРАВЛЕННЯ: попередній реліз виправив ролі calibrate/ntp.per та переклад info.connection, але ensureState() ніколи не оновлює вже існуючий об'єкт - тому інсталяції, оновлені зі старішої версії, назавжди зберігали старі, неправильні об'єкти. Додано одноразову міграцію під час запуску.",
|
|
69
|
+
"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
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"titleLang": {
|
|
99
|
+
"en": "Feller zeptrion / zApp",
|
|
100
|
+
"de": "Feller zeptrion / zApp",
|
|
101
|
+
"ru": "Feller zeptrion / zApp",
|
|
102
|
+
"pt": "Feller zeptrion / zApp",
|
|
103
|
+
"nl": "Feller zeptrion / zApp",
|
|
104
|
+
"fr": "Feller zeptrion / zApp",
|
|
105
|
+
"it": "Feller zeptrion / zApp",
|
|
106
|
+
"es": "Feller zeptrion / zApp",
|
|
107
|
+
"pl": "Feller zeptrion / zApp",
|
|
108
|
+
"uk": "Feller zeptrion / zApp",
|
|
109
|
+
"zh-cn": "Feller zeptrion / zApp"
|
|
110
|
+
},
|
|
111
|
+
"desc": {
|
|
112
|
+
"en": "Control Feller zeptrion WLAN actuators (zApp-Gateway / zApp-Booster) for lights and shutters via the zrap web service API. Includes a hail-alarm collective command to close all configured shutters at once.",
|
|
113
|
+
"de": "Steuerung von Feller zeptrion WLAN-Aktoren (zApp-Gateway / zApp-Booster) für Licht und Storen über die zrap Webservice API. Enthält einen Sammelbefehl zum sofortigen Schliessen aller konfigurierten Storen (z.B. für Hagelalarm).",
|
|
114
|
+
"ru": "Управление WLAN-актуаторами Feller zeptrion (zApp-Gateway / zApp-Booster) для освещения и штор через веб-сервис API zrap. Включает групповую команду тревоги по граду для немедленного закрытия всех настроенных штор.",
|
|
115
|
+
"pt": "Controlo de atuadores WLAN Feller zeptrion (zApp-Gateway / zApp-Booster) para luzes e estores através da API do serviço web zrap. Inclui um comando coletivo de alarme de granizo para fechar imediatamente todos os estores configurados.",
|
|
116
|
+
"nl": "Besturing van Feller zeptrion WLAN-actuatoren (zApp-Gateway / zApp-Booster) voor verlichting en zonwering via de zrap webservice-API. Bevat een collectief hagelalarm-commando om alle geconfigureerde zonwering direct te sluiten.",
|
|
117
|
+
"fr": "Contrôle des actionneurs WLAN Feller zeptrion (zApp-Gateway / zApp-Booster) pour lumières et volets via l'API web service zrap. Inclut une commande collective d'alarme grêle pour fermer tous les volets configurés en une fois.",
|
|
118
|
+
"it": "Controllo degli attuatori WLAN Feller zeptrion (zApp-Gateway / zApp-Booster) per luci e tapparelle tramite l'API web service zrap. Include un comando collettivo di allarme grandine per chiudere subito tutte le tapparelle configurate.",
|
|
119
|
+
"es": "Control de actuadores WLAN Feller zeptrion (zApp-Gateway / zApp-Booster) para luces y persianas mediante la API del servicio web zrap. Incluye un comando colectivo de alarma de granizo para cerrar de inmediato todas las persianas configuradas.",
|
|
120
|
+
"pl": "Sterowanie aktuatorami WLAN Feller zeptrion (zApp-Gateway / zApp-Booster) do oświetlenia i rolet za pomocą interfejsu API usługi sieciowej zrap. Zawiera zbiorczą komendę alarmu gradowego do natychmiastowego zamknięcia wszystkich skonfigurowanych rolet.",
|
|
121
|
+
"uk": "Керування WLAN-актуаторами Feller zeptrion (zApp-Gateway / zApp-Booster) для освітлення та штор через веб-сервіс API zrap. Містить групову команду тривоги про град для негайного закриття всіх налаштованих штор.",
|
|
122
|
+
"zh-cn": "通过 zrap 网络服务 API 控制 Feller zeptrion WLAN 执行器(zApp-Gateway / zApp-Booster),用于灯光和卷帘。包含冰雹警报集合指令,可立即关闭所有已配置的卷帘。"
|
|
123
|
+
},
|
|
124
|
+
"authors": [
|
|
125
|
+
"Stefan Bühler <stefan.buehler46@gmail.com>"
|
|
126
|
+
],
|
|
127
|
+
"dependencies": [
|
|
128
|
+
{
|
|
129
|
+
"js-controller": ">=6.0.11"
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
"globalDependencies": [
|
|
133
|
+
{
|
|
134
|
+
"admin": ">=7.8.23"
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"keywords": [
|
|
138
|
+
"feller",
|
|
139
|
+
"zeptrion",
|
|
140
|
+
"zapp",
|
|
141
|
+
"storen",
|
|
142
|
+
"shutter",
|
|
143
|
+
"wlan",
|
|
144
|
+
"hagel"
|
|
145
|
+
],
|
|
146
|
+
"licenseInformation": {
|
|
147
|
+
"type": "free",
|
|
148
|
+
"license": "MIT"
|
|
149
|
+
},
|
|
150
|
+
"platform": "Javascript/Node.js",
|
|
151
|
+
"icon": "zeptrion.png",
|
|
152
|
+
"enabled": true,
|
|
153
|
+
"extIcon": "https://raw.githubusercontent.com/bueste/ioBroker.zeptrion/main/admin/zeptrion.png",
|
|
154
|
+
"readme": "https://github.com/bueste/ioBroker.zeptrion/blob/main/README.md",
|
|
155
|
+
"type": "household",
|
|
156
|
+
"mode": "daemon",
|
|
157
|
+
"compact": true,
|
|
158
|
+
"connectionType": "local",
|
|
159
|
+
"dataSource": "poll",
|
|
160
|
+
"adminUI": {
|
|
161
|
+
"config": "json"
|
|
162
|
+
},
|
|
163
|
+
"messagebox": true,
|
|
164
|
+
"loglevel": "info",
|
|
165
|
+
"stopBeforeUpdate": true,
|
|
166
|
+
"tier": 2
|
|
175
167
|
},
|
|
176
|
-
"
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
},
|
|
181
|
-
"native": {
|
|
182
|
-
"requestTimeout": 4000,
|
|
183
|
-
"useNotify": true,
|
|
184
|
-
"devices": []
|
|
185
|
-
},
|
|
186
|
-
"objects": [],
|
|
187
|
-
"instanceObjects": [
|
|
188
|
-
{
|
|
189
|
-
"_id": "info",
|
|
190
|
-
"type": "channel",
|
|
191
|
-
"common": {
|
|
192
|
-
"name": {
|
|
193
|
-
"en": "Information",
|
|
194
|
-
"de": "Information"
|
|
195
|
-
}
|
|
196
|
-
},
|
|
197
|
-
"native": {}
|
|
168
|
+
"native": {
|
|
169
|
+
"requestTimeout": 4000,
|
|
170
|
+
"useNotify": true,
|
|
171
|
+
"devices": []
|
|
198
172
|
},
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
"it": "Almeno un dispositivo raggiungibile",
|
|
212
|
-
"es": "Al menos un dispositivo accesible",
|
|
213
|
-
"pl": "Co najmniej jedno urządzenie dostępne",
|
|
214
|
-
"uk": "Принаймні один пристрій доступний",
|
|
215
|
-
"zh-cn": "至少有一个设备可访问"
|
|
173
|
+
"objects": [],
|
|
174
|
+
"instanceObjects": [
|
|
175
|
+
{
|
|
176
|
+
"_id": "info",
|
|
177
|
+
"type": "channel",
|
|
178
|
+
"common": {
|
|
179
|
+
"name": {
|
|
180
|
+
"en": "Information",
|
|
181
|
+
"de": "Information"
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"native": {}
|
|
216
185
|
},
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
186
|
+
{
|
|
187
|
+
"_id": "info.connection",
|
|
188
|
+
"type": "state",
|
|
189
|
+
"common": {
|
|
190
|
+
"role": "indicator.connected",
|
|
191
|
+
"name": {
|
|
192
|
+
"en": "At least one device reachable",
|
|
193
|
+
"de": "Mindestens ein Gerät erreichbar",
|
|
194
|
+
"ru": "Доступно хотя бы одно устройство",
|
|
195
|
+
"pt": "Pelo menos um dispositivo acessível",
|
|
196
|
+
"nl": "Ten minste één apparaat bereikbaar",
|
|
197
|
+
"fr": "Au moins un appareil accessible",
|
|
198
|
+
"it": "Almeno un dispositivo raggiungibile",
|
|
199
|
+
"es": "Al menos un dispositivo accesible",
|
|
200
|
+
"pl": "Co najmniej jedno urządzenie dostępne",
|
|
201
|
+
"uk": "Принаймні один пристрій доступний",
|
|
202
|
+
"zh-cn": "至少有一个设备可访问"
|
|
203
|
+
},
|
|
204
|
+
"type": "boolean",
|
|
205
|
+
"read": true,
|
|
206
|
+
"write": false,
|
|
207
|
+
"def": false
|
|
208
|
+
},
|
|
209
|
+
"native": {}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"_id": "control",
|
|
213
|
+
"type": "channel",
|
|
214
|
+
"common": {
|
|
215
|
+
"name": {
|
|
216
|
+
"en": "Collective commands",
|
|
217
|
+
"de": "Sammelbefehle"
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
"native": {}
|
|
231
221
|
}
|
|
232
|
-
|
|
233
|
-
"native": {}
|
|
234
|
-
}
|
|
235
|
-
]
|
|
222
|
+
]
|
|
236
223
|
}
|
package/package.json
CHANGED
|
@@ -1,61 +1,62 @@
|
|
|
1
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
|
-
|
|
2
|
+
"name": "iobroker.zeptrion",
|
|
3
|
+
"version": "1.0.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
|
+
"author": "Stefan Bühler",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://github.com/bueste/ioBroker.zeptrion",
|
|
8
|
+
"funding": {
|
|
9
|
+
"type": "buymeacoffee",
|
|
10
|
+
"url": "https://buymeacoffee.com/stefanbuehler"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "https://github.com/bueste/ioBroker.zeptrion.git"
|
|
15
|
+
},
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/bueste/ioBroker.zeptrion/issues"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"ioBroker",
|
|
21
|
+
"feller",
|
|
22
|
+
"zeptrion",
|
|
23
|
+
"zapp",
|
|
24
|
+
"storen",
|
|
25
|
+
"rolladen",
|
|
26
|
+
"shutter",
|
|
27
|
+
"wlan",
|
|
28
|
+
"smart home",
|
|
29
|
+
"hagel"
|
|
30
|
+
],
|
|
31
|
+
"main": "main.js",
|
|
32
|
+
"files": [
|
|
33
|
+
"admin/",
|
|
34
|
+
"main.js",
|
|
35
|
+
"lib/",
|
|
36
|
+
"io-package.json",
|
|
37
|
+
"LICENSE"
|
|
38
|
+
],
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=22"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@iobroker/adapter-core": "^3.4.2",
|
|
44
|
+
"axios": "^1.18.1",
|
|
45
|
+
"fast-xml-parser": "^5.9.3",
|
|
46
|
+
"bonjour-service": "^1.2.1"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@iobroker/testing": "^5.3.0",
|
|
50
|
+
"eslint": "^10.6.0",
|
|
51
|
+
"@tsconfig/node22": "^22.0.5",
|
|
52
|
+
"@types/node": "^22.20.1"
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"start": "node main.js",
|
|
56
|
+
"lint": "eslint . --ext .js",
|
|
57
|
+
"test:package": "mocha test/package.js --exit",
|
|
58
|
+
"test:unit": "mocha test/unit.js --exit",
|
|
59
|
+
"test:integration": "mocha test/integration.js --exit --timeout 60000",
|
|
60
|
+
"test": "npm run test:package && npm run test:unit"
|
|
61
|
+
}
|
|
61
62
|
}
|