iobroker.zeptrion 1.0.3 → 1.0.5
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/admin/jsonConfig.json +39 -3
- package/io-package.json +217 -243
- package/package.json +60 -59
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
[](https://github.com/bueste/ioBroker.zeptrion/actions)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
[](https://www.paypal.com/ncp/payment/TT6MTBLXX9L9U)
|
|
10
|
+
[](https://buymeacoffee.com/stefanbuehler)
|
|
10
11
|
|
|
11
12
|
Adapter for Feller **zeptrion / zApp** WLAN actuators (WLAN Nebenstelle 4K = zApp gateway,
|
|
12
13
|
WLAN Zwischenmodul 2K = zApp booster) for light and shutter/blind control, based on the
|
|
@@ -191,6 +192,13 @@ npm run test:integration # starts a real js-controller (takes longer)
|
|
|
191
192
|
|
|
192
193
|
## Changelog
|
|
193
194
|
|
|
195
|
+
### 1.0.5 (2026-07-22)
|
|
196
|
+
- Admin UI: the three `validatorErrorText` messages are now inline i18n objects instead of plain English strings (ioBroker checker W5617).
|
|
197
|
+
- 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.
|
|
198
|
+
|
|
199
|
+
### 1.0.4 (2026-07-21)
|
|
200
|
+
- Documentation only: added a Buy Me a Coffee link next to the PayPal donate badge. No functional changes.
|
|
201
|
+
|
|
194
202
|
### 1.0.3 (2026-07-17)
|
|
195
203
|
- Documentation only: fixed the PayPal donate link, which previously used the wrong URL format and did not work.
|
|
196
204
|
|
package/admin/jsonConfig.json
CHANGED
|
@@ -157,7 +157,19 @@
|
|
|
157
157
|
"zh-cn": "留空 = 根据 host 自动生成。仅允许 a-z、0-9、_ 和 -"
|
|
158
158
|
},
|
|
159
159
|
"validator": "!data.id || /^[a-zA-Z0-9_-]+$/.test(data.id)",
|
|
160
|
-
"validatorErrorText":
|
|
160
|
+
"validatorErrorText": {
|
|
161
|
+
"en": "Only a-z, 0-9, _ and - (or leave empty)",
|
|
162
|
+
"de": "Nur a-z, 0-9, _ und - (oder leer lassen)",
|
|
163
|
+
"ru": "Только a-z, 0-9, _ и - (или оставьте пустым)",
|
|
164
|
+
"pt": "Apenas a-z, 0-9, _ e - (ou deixe vazio)",
|
|
165
|
+
"nl": "Alleen a-z, 0-9, _ en - (of leeg laten)",
|
|
166
|
+
"fr": "Uniquement a-z, 0-9, _ et - (ou laisser vide)",
|
|
167
|
+
"it": "Solo a-z, 0-9, _ e - (o lasciare vuoto)",
|
|
168
|
+
"es": "Solo a-z, 0-9, _ y - (o dejar vacío)",
|
|
169
|
+
"pl": "Tylko a-z, 0-9, _ i - (lub pozostaw puste)",
|
|
170
|
+
"uk": "Лише a-z, 0-9, _ і - (або залиште порожнім)",
|
|
171
|
+
"zh-cn": "仅限 a-z、0-9、_ 和 -(或留空)"
|
|
172
|
+
},
|
|
161
173
|
"width": "10%"
|
|
162
174
|
},
|
|
163
175
|
{
|
|
@@ -177,7 +189,19 @@
|
|
|
177
189
|
"de": "IP-Adresse / Hostname"
|
|
178
190
|
},
|
|
179
191
|
"validator": "!data.host || /^[a-zA-Z0-9.\\-]+$/.test(data.host)",
|
|
180
|
-
"validatorErrorText":
|
|
192
|
+
"validatorErrorText": {
|
|
193
|
+
"en": "Invalid host (no protocol, no spaces)",
|
|
194
|
+
"de": "Ungültiger Host (kein Protokoll, keine Leerzeichen)",
|
|
195
|
+
"ru": "Недопустимый хост (без протокола, без пробелов)",
|
|
196
|
+
"pt": "Host inválido (sem protocolo, sem espaços)",
|
|
197
|
+
"nl": "Ongeldige host (geen protocol, geen spaties)",
|
|
198
|
+
"fr": "Hôte invalide (pas de protocole, pas d'espaces)",
|
|
199
|
+
"it": "Host non valido (nessun protocollo, nessuno spazio)",
|
|
200
|
+
"es": "Host no válido (sin protocolo, sin espacios)",
|
|
201
|
+
"pl": "Nieprawidłowy host (bez protokołu, bez spacji)",
|
|
202
|
+
"uk": "Недійсний хост (без протоколу, без пробілів)",
|
|
203
|
+
"zh-cn": "主机无效(不含协议,不含空格)"
|
|
204
|
+
},
|
|
181
205
|
"width": "16%"
|
|
182
206
|
},
|
|
183
207
|
{
|
|
@@ -324,7 +348,19 @@
|
|
|
324
348
|
"zh-cn": "可选:以逗号分隔的按通道覆盖设置,按顺序每个通道一个值(例如 2K 设备中通道 1 和 2 的运行时间不同,可填 \"22,28\")。留空的项将使用 \"Motor travel (s)\"。将整个字段留空则所有通道使用相同的值。"
|
|
325
349
|
},
|
|
326
350
|
"validator": "!data.travelTimeSecCh || /^\\s*\\d*\\s*(,\\s*\\d*\\s*){0,3}$/.test(data.travelTimeSecCh)",
|
|
327
|
-
"validatorErrorText":
|
|
351
|
+
"validatorErrorText": {
|
|
352
|
+
"en": "Comma-separated numbers only, max 4 values (e.g. '22,28')",
|
|
353
|
+
"de": "Nur kommagetrennte Zahlen, max. 4 Werte (z. B. '22,28')",
|
|
354
|
+
"ru": "Только числа через запятую, максимум 4 значения (например, '22,28')",
|
|
355
|
+
"pt": "Apenas números separados por vírgulas, máx. 4 valores (por exemplo, '22,28')",
|
|
356
|
+
"nl": "Alleen door komma's gescheiden getallen, max. 4 waarden (bijv. '22,28')",
|
|
357
|
+
"fr": "Uniquement des nombres séparés par des virgules, 4 valeurs max. (p. ex. '22,28')",
|
|
358
|
+
"it": "Solo numeri separati da virgole, max 4 valori (ad es. '22,28')",
|
|
359
|
+
"es": "Solo números separados por comas, máx. 4 valores (p. ej., '22,28')",
|
|
360
|
+
"pl": "Tylko liczby oddzielone przecinkami, maks. 4 wartości (np. '22,28')",
|
|
361
|
+
"uk": "Лише числа через кому, максимум 4 значення (наприклад, '22,28')",
|
|
362
|
+
"zh-cn": "仅限逗号分隔的数字,最多 4 个值(例如 '22,28')"
|
|
363
|
+
},
|
|
328
364
|
"width": "9%"
|
|
329
365
|
},
|
|
330
366
|
{
|
package/io-package.json
CHANGED
|
@@ -1,249 +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
|
-
"storen",
|
|
168
|
-
"shutter",
|
|
169
|
-
"wlan",
|
|
170
|
-
"hagel"
|
|
171
|
-
],
|
|
172
|
-
"licenseInformation": {
|
|
173
|
-
"type": "free",
|
|
174
|
-
"license": "MIT"
|
|
175
|
-
},
|
|
176
|
-
"platform": "Javascript/Node.js",
|
|
177
|
-
"icon": "zeptrion.png",
|
|
178
|
-
"enabled": true,
|
|
179
|
-
"extIcon": "https://raw.githubusercontent.com/bueste/ioBroker.zeptrion/main/admin/zeptrion.png",
|
|
180
|
-
"readme": "https://github.com/bueste/ioBroker.zeptrion/blob/main/README.md",
|
|
181
|
-
"type": "household",
|
|
182
|
-
"mode": "daemon",
|
|
183
|
-
"compact": true,
|
|
184
|
-
"connectionType": "local",
|
|
185
|
-
"dataSource": "poll",
|
|
186
|
-
"adminUI": {
|
|
187
|
-
"config": "json"
|
|
2
|
+
"common": {
|
|
3
|
+
"name": "zeptrion",
|
|
4
|
+
"version": "1.0.5",
|
|
5
|
+
"news": {
|
|
6
|
+
"1.0.5": {
|
|
7
|
+
"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.",
|
|
8
|
+
"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.",
|
|
9
|
+
"ru": "Интерфейс администратора: три сообщения validatorErrorText теперь являются встроенными объектами i18n вместо простых английских строк; повышены объявленные минимальные версии bonjour-service и eslint (обе и так покрывались существующими caret-диапазонами). Без функциональных изменений.",
|
|
10
|
+
"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.",
|
|
11
|
+
"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.",
|
|
12
|
+
"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.",
|
|
13
|
+
"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.",
|
|
14
|
+
"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.",
|
|
15
|
+
"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.",
|
|
16
|
+
"uk": "Інтерфейс адміністратора: три повідомлення validatorErrorText тепер є вбудованими об'єктами i18n замість простих англійських рядків; підвищено оголошені мінімальні версії bonjour-service та eslint (обидві й так покривалися наявними caret-діапазонами). Без функціональних змін.",
|
|
17
|
+
"zh-cn": "管理界面:三条 validatorErrorText 提示现在使用内联 i18n 对象,而非纯英文字符串;提高了 bonjour-service 和 eslint 的声明最低版本(两者原本就在现有 caret 范围内)。无功能性更改。"
|
|
18
|
+
},
|
|
19
|
+
"1.0.4": {
|
|
20
|
+
"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.",
|
|
21
|
+
"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.",
|
|
22
|
+
"ru": "Только документация: добавлена ссылка Buy Me a Coffee рядом со значком пожертвования PayPal в README.md/README_de.md и в npm-пакете (поле funding). Без функциональных изменений.",
|
|
23
|
+
"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.",
|
|
24
|
+
"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.",
|
|
25
|
+
"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.",
|
|
26
|
+
"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.",
|
|
27
|
+
"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.",
|
|
28
|
+
"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.",
|
|
29
|
+
"uk": "Лише документація: додано посилання Buy Me a Coffee поруч зі значком пожертв PayPal у README.md/README_de.md та в пакеті npm (поле funding). Без функціональних змін.",
|
|
30
|
+
"zh-cn": "仅文档:在 README.md/README_de.md 及 npm 包(funding 字段)中,于 PayPal 捐赠徽章旁添加了 Buy Me a Coffee 链接。无功能变更。"
|
|
31
|
+
},
|
|
32
|
+
"1.0.3": {
|
|
33
|
+
"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.",
|
|
34
|
+
"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.",
|
|
35
|
+
"ru": "Только документация: исправлена ссылка для пожертвований PayPal в README (en/de), которая ранее имела неверный формат URL и не работала. Без функциональных изменений.",
|
|
36
|
+
"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.",
|
|
37
|
+
"nl": "Alleen documentatie: de PayPal-donatielink in README (en/de) gecorrigeerd, die voorheen het verkeerde URL-formaat had en niet werkte. Geen functionele wijzigingen.",
|
|
38
|
+
"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.",
|
|
39
|
+
"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.",
|
|
40
|
+
"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.",
|
|
41
|
+
"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.",
|
|
42
|
+
"uk": "Лише документація: виправлено посилання для пожертв PayPal у README (en/de), яке раніше мало неправильний формат URL і не працювало. Без функціональних змін.",
|
|
43
|
+
"zh-cn": "仅文档:修正了 README(en/de)中的 PayPal 捐赠链接,此前该链接使用了错误的 URL 格式且无法正常使用。无功能变更。"
|
|
44
|
+
},
|
|
45
|
+
"1.0.2": {
|
|
46
|
+
"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.",
|
|
47
|
+
"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.",
|
|
48
|
+
"ru": "ИСПРАВЛЕНИЕ: глобальные переводы info.connection, добавленные в 1.0.1, синхронизируются js-controller автоматически только при определённых способах обновления, ненадёжно при установке через 'iobroker url' - добавлено также в миграцию при запуске.",
|
|
49
|
+
"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.",
|
|
50
|
+
"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.",
|
|
51
|
+
"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.",
|
|
52
|
+
"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.",
|
|
53
|
+
"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.",
|
|
54
|
+
"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.",
|
|
55
|
+
"uk": "ВИПРАВЛЕННЯ: глобальні переклади info.connection, додані в 1.0.1, синхронізуються js-controller автоматично лише за певних шляхів оновлення, ненадійно при встановленні через 'iobroker url' - додано також до міграції під час запуску.",
|
|
56
|
+
"zh-cn": "修复:1.0.1 中添加的全局 info.connection 翻译仅在特定更新路径(例如 'iobroker upgrade')下由 js-controller 自动同步,通过 'iobroker url' 安装时并不可靠——现已同样加入启动迁移中。"
|
|
57
|
+
},
|
|
58
|
+
"1.0.1": {
|
|
59
|
+
"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).",
|
|
60
|
+
"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).",
|
|
61
|
+
"ru": "ИСПРАВЛЕНИЕ: calibrate объявлял роль 'level', но read=false - роль 'level' требует read=true согласно каталогу ролей ioBroker. Изменено на read=true, миграция при запуске расширена. Добавлены отсутствующие переводы для глобального объекта info.connection.",
|
|
62
|
+
"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.",
|
|
63
|
+
"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.",
|
|
64
|
+
"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.",
|
|
65
|
+
"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.",
|
|
66
|
+
"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.",
|
|
67
|
+
"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.",
|
|
68
|
+
"uk": "ВИПРАВЛЕННЯ: calibrate декларував роль 'level', але read=false - роль 'level' вимагає read=true згідно з каталогом ролей ioBroker. Змінено на read=true, розширено міграцію під час запуску. Додано відсутні переклади для глобального об'єкта info.connection.",
|
|
69
|
+
"zh-cn": "修复:calibrate 声明角色为 'level',但 read=false——根据 ioBroker 角色目录,角色 'level' 要求 read=true。已更改为 read=true,并扩展了启动迁移。补充了全局 info.connection 对象缺失的翻译。"
|
|
70
|
+
},
|
|
71
|
+
"1.0.0": {
|
|
72
|
+
"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).",
|
|
73
|
+
"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).",
|
|
74
|
+
"ru": "Первый релиз 1.0. ИСПРАВЛЕНИЕ: предыдущий релиз исправил роли calibrate/ntp.per и перевод info.connection, но ensureState() никогда не обновляет уже существующий объект - поэтому установки, обновлённые с более старой версии, навсегда сохраняли старые, неверные объекты. Добавлена одноразовая миграция при запуске, принудительно исправляющая именно эти известные объекты.",
|
|
75
|
+
"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.",
|
|
76
|
+
"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.",
|
|
77
|
+
"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.",
|
|
78
|
+
"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.",
|
|
79
|
+
"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.",
|
|
80
|
+
"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.",
|
|
81
|
+
"uk": "Перший реліз 1.0. ВИПРАВЛЕННЯ: попередній реліз виправив ролі calibrate/ntp.per та переклад info.connection, але ensureState() ніколи не оновлює вже існуючий об'єкт - тому інсталяції, оновлені зі старішої версії, назавжди зберігали старі, неправильні об'єкти. Додано одноразову міграцію під час запуску.",
|
|
82
|
+
"zh-cn": "首个 1.0 版本。修复:上一版本修正了 calibrate/ntp.per 角色和 info.connection 翻译,但 ensureState() 从不更新已存在的对象——因此从旧版本升级的安装会永久保留旧的、不正确的对象。新增了一次性启动迁移来强制修正这些已知对象。"
|
|
83
|
+
},
|
|
84
|
+
"0.8.6": {
|
|
85
|
+
"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.",
|
|
86
|
+
"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).",
|
|
87
|
+
"ru": "Исправлены несоответствия ролей/типов объектов, найденных при проверке структуры объектов для подачи в магазин ioBroker: calibrate и ntp.per использовали роль 'value', которая строго требует read=true/write=false и не подходит для этих намеренно записываемых состояний - изменено на роль 'level'. Также добавлен отсутствующий полный перевод i18n для info.connection.",
|
|
88
|
+
"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.",
|
|
89
|
+
"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.",
|
|
90
|
+
"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.",
|
|
91
|
+
"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.",
|
|
92
|
+
"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.",
|
|
93
|
+
"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.",
|
|
94
|
+
"uk": "Виправлено невідповідності ролей/типів об'єктів, знайдені під час перевірки структури об'єктів для подання до магазину ioBroker: calibrate і ntp.per використовували роль 'value', яка суворо вимагає read=true/write=false і не підходить для цих навмисно записуваних станів - змінено на роль 'level'. Також додано відсутній повний переклад i18n для info.connection.",
|
|
95
|
+
"zh-cn": "修复了在 ioBroker 商店提交的对象结构检查中发现的对象角色/类型不匹配问题:calibrate 和 ntp.per 使用了角色 'value',该角色严格要求 read=true/write=false,不适合这些故意可写的状态——已更改为角色 'level'。同时还补充了 info.connection 缺失的完整 i18n 翻译。"
|
|
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
|
|
188
167
|
},
|
|
189
|
-
"
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
},
|
|
194
|
-
"native": {
|
|
195
|
-
"requestTimeout": 4000,
|
|
196
|
-
"useNotify": true,
|
|
197
|
-
"devices": []
|
|
198
|
-
},
|
|
199
|
-
"objects": [],
|
|
200
|
-
"instanceObjects": [
|
|
201
|
-
{
|
|
202
|
-
"_id": "info",
|
|
203
|
-
"type": "channel",
|
|
204
|
-
"common": {
|
|
205
|
-
"name": {
|
|
206
|
-
"en": "Information",
|
|
207
|
-
"de": "Information"
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
"native": {}
|
|
168
|
+
"native": {
|
|
169
|
+
"requestTimeout": 4000,
|
|
170
|
+
"useNotify": true,
|
|
171
|
+
"devices": []
|
|
211
172
|
},
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
"it": "Almeno un dispositivo raggiungibile",
|
|
225
|
-
"es": "Al menos un dispositivo accesible",
|
|
226
|
-
"pl": "Co najmniej jedno urządzenie dostępne",
|
|
227
|
-
"uk": "Принаймні один пристрій доступний",
|
|
228
|
-
"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": {}
|
|
229
185
|
},
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
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": {}
|
|
244
221
|
}
|
|
245
|
-
|
|
246
|
-
"native": {}
|
|
247
|
-
}
|
|
248
|
-
]
|
|
222
|
+
]
|
|
249
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.5",
|
|
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.4.3"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@iobroker/testing": "^5.3.0",
|
|
50
|
+
"eslint": "^10.7.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
|
}
|