iobroker.ebus 3.3.7 → 3.4.0
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/i18n/de/translations.json +29 -9
- package/admin/i18n/en/translations.json +25 -5
- package/admin/i18n/es/translations.json +20 -0
- package/admin/i18n/fr/translations.json +20 -0
- package/admin/i18n/it/translations.json +20 -0
- package/admin/i18n/nl/translations.json +20 -0
- package/admin/i18n/pl/translations.json +20 -0
- package/admin/i18n/pt/translations.json +20 -0
- package/admin/i18n/ru/translations.json +20 -0
- package/admin/i18n/uk/translations.json +20 -0
- package/admin/i18n/zh-cn/translations.json +20 -0
- package/admin/jsonConfig.json +393 -0
- package/admin/words.js +29 -9
- package/io-package.json +192 -31
- package/main.js +108 -44
- package/package.json +4 -3
- package/widgets/ebus/img/Prev_tplebus.png +0 -0
- package/widgets/ebus/lib/js/flot/jquery.canvaswrapper.js +549 -0
- package/widgets/ebus/lib/js/flot/jquery.colorhelpers.js +199 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.axislabels.js +212 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.browser.js +98 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.categories.js +202 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.composeImages.js +330 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.crosshair.js +202 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.drawSeries.js +662 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.errorbars.js +375 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.fillbetween.js +254 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.flatdata.js +47 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.hover.js +361 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.image.js +249 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.js +2953 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.legend.js +437 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.logaxis.js +298 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.navigate.js +834 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.pie.js +794 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.resize.js +60 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.saturated.js +43 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.selection.js +527 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.stack.js +220 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.symbol.js +98 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.threshold.js +143 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.time.js +586 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.touch.js +320 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.touchNavigate.js +360 -0
- package/widgets/ebus/lib/js/flot/jquery.flot.uiConstants.js +10 -0
- package/widgets/ebus/lib/js/flot/jquery.js +9473 -0
- package/widgets/ebus/lib/js/lib/globalize.culture.en-US.js +33 -0
- package/widgets/ebus/lib/js/lib/globalize.js +1601 -0
- package/widgets/ebus/lib/js/lib/jquery.event.drag.js +145 -0
- package/widgets/ebus/lib/js/lib/jquery.mousewheel.js +86 -0
- package/widgets/ebus.html +2395 -0
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "ebus",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.4.0",
|
|
5
5
|
"news": {
|
|
6
|
+
"3.4.0": {
|
|
7
|
+
"en": "migration to jsonConfig\nsee issue #383: add optionally parameters to HTTP call",
|
|
8
|
+
"de": "migration nach jsonConfig\nsiehe Ausgabe #383: optionale Parameter zum HTTP-Aufruf hinzufügen",
|
|
9
|
+
"ru": "миграции в jsonConfig\n#383: добавить дополнительные параметры к HTTP-звонку",
|
|
10
|
+
"pt": "migração para jsonConfig\nveja o problema #383: adicione parâmetros opcionalmente à chamada HTTP",
|
|
11
|
+
"nl": "migratie naar jsonConfig\nzie probleem #383: voeg optioneel parameters toe aan HTTP-aanroep",
|
|
12
|
+
"fr": "migration vers jsonConfig\nvoir le numéro #383: ajouter optionnellement des paramètres à l'appel HTTP",
|
|
13
|
+
"it": "migrazione a jsonConfig\nvedi numero #383: aggiungi parametri opzionalmente alla chiamata HTTP",
|
|
14
|
+
"es": "migración a jsonConfig\nver número #383: añadir parámetros opcionalmente a la llamada HTTP",
|
|
15
|
+
"pl": "migracja do jsonConfig\nzobacz numer # 383: dodać opcjonalne parametry do wywołania HTTP",
|
|
16
|
+
"uk": "міграції в jsonConfig\nпереглянути номер #383: додавати додаткові параметри до HTTP виклику",
|
|
17
|
+
"zh-cn": "迁移到 jsonConfig\n参见第383期: 在 HTTP 调用中添加可选参数"
|
|
18
|
+
},
|
|
19
|
+
"3.3.8": {
|
|
20
|
+
"en": "update dependencies\nissue #381: install widgets again",
|
|
21
|
+
"de": "aktualisierung der abhängigkeiten\nausgabe #381: widgets erneut installieren",
|
|
22
|
+
"ru": "обновление зависимостей\n#381: установить виджеты снова",
|
|
23
|
+
"pt": "dependências\nproblema #381: instalar widgets novamente",
|
|
24
|
+
"nl": "afhankelijkheden bijwerken\nprobleem #381: opnieuw widgets installeren",
|
|
25
|
+
"fr": "mettre à jour les dépendances\nnuméro #381: installez à nouveau des widgets",
|
|
26
|
+
"it": "aggiornamento dipendenze\nnumero #381: installare nuovamente i widget",
|
|
27
|
+
"es": "dependencias de actualización\nedición #381: instalar widgets de nuevo",
|
|
28
|
+
"pl": "aktualizacji zależności\nwydanie # 381: zainstalować widgety ponownie",
|
|
29
|
+
"uk": "оновлення залежності\nproblem #381: встановити віджети знову",
|
|
30
|
+
"zh-cn": "更新依赖关系\n第381期: 再次安装部件"
|
|
31
|
+
},
|
|
6
32
|
"3.3.7": {
|
|
7
33
|
"en": "see issue #380: support of ebusd 24.1, ATTENTION: ebusd creates datapoints with changed names, folders or in different locations\nsee issue #371: test with nodejs@22",
|
|
8
34
|
"de": "siehe Ausgabe #380: Unterstützung von ebusd 24.1, ATTENTION: ebusd erstellt Datenpunkte mit geänderten Namen, Ordnern oder an verschiedenen Standorten\nsiehe ausgabe #371: test mit nodejs@22",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "obniżenie wartości \"socket-socket\" do 7.0.0",
|
|
68
94
|
"uk": "до 7.0.0",
|
|
69
95
|
"zh-cn": "将\"承诺-口袋\"降级为7.0.0"
|
|
70
|
-
},
|
|
71
|
-
"3.3.2": {
|
|
72
|
-
"en": "(René) see issue #338: due to error in ebusd json no data are parsed",
|
|
73
|
-
"de": "(René) siehe Ausgabe #338: Durch Fehler in ebusd json werden keine Daten pariert",
|
|
74
|
-
"ru": "(René) см. вопрос #338: из-за ошибки в ebusd json никакие данные не спариваются",
|
|
75
|
-
"pt": "(René) veja a edição #338: devido ao erro no ebusd json nenhum dado é analisado",
|
|
76
|
-
"nl": "(René) zie probleem #338: als gevolg van fout in ebusd json geen gegevens worden ontleed",
|
|
77
|
-
"fr": "(René) voir le numéro 338 : en raison d'une erreur dans ebusd json aucune donnée n'est analysée",
|
|
78
|
-
"it": "(René) vedi problema #338: a causa di errore in ebusd json non vengono analizzati dati",
|
|
79
|
-
"es": "(René) ver el número #338: debido al error en ebusd json no se analizan los datos",
|
|
80
|
-
"pl": "(René) see issue # 338: due to error in ebudd json no data are parsed",
|
|
81
|
-
"uk": "(René) див. питання #338: через помилку в ebusd json немає даних",
|
|
82
|
-
"zh-cn": "(René)参见第338期:由于ebusd json中的错误,没有解析数据"
|
|
83
|
-
},
|
|
84
|
-
"3.3.1": {
|
|
85
|
-
"en": "(René) change of dependencies",
|
|
86
|
-
"de": "(René) Veränderung der Abhängigkeiten",
|
|
87
|
-
"ru": "(René) изменение зависимостей",
|
|
88
|
-
"pt": "(René) mudança de dependências",
|
|
89
|
-
"nl": "(René) verandering van afhankelijkheden",
|
|
90
|
-
"fr": "(René) changement de dépendances",
|
|
91
|
-
"it": "(René) cambiamento delle dipendenze",
|
|
92
|
-
"es": "(René) cambio de dependencia",
|
|
93
|
-
"pl": "(René) zmiana zależności",
|
|
94
|
-
"uk": "(Рене) зміна залежностей",
|
|
95
|
-
"zh-cn": "(René) 属地变化"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
"connectionType": "local",
|
|
160
160
|
"dataSource": "push",
|
|
161
161
|
"adminUI": {
|
|
162
|
-
"config": "
|
|
162
|
+
"config": "json"
|
|
163
163
|
},
|
|
164
164
|
"messages": [
|
|
165
165
|
{
|
|
@@ -201,6 +201,86 @@
|
|
|
201
201
|
"agree",
|
|
202
202
|
"cancel"
|
|
203
203
|
]
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"condition": {
|
|
207
|
+
"operand": "and",
|
|
208
|
+
"rules": [
|
|
209
|
+
"oldVersion<3.3.7",
|
|
210
|
+
"newVersion>=3.3.7"
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
"title": {
|
|
214
|
+
"en": "ebusd v24.1 moved datapoints",
|
|
215
|
+
"de": "ebusd v24.1 hat Datenpunkte verschoben",
|
|
216
|
+
"ru": "ebusd v24.1 перенес точки данных",
|
|
217
|
+
"pt": "pontos de dados movidos ebusd v24.1",
|
|
218
|
+
"nl": "ebusd v24.1 verplaatste datapunten",
|
|
219
|
+
"fr": "ebusd v24.1 a déplacé les points de données",
|
|
220
|
+
"it": "ebusd v24.1 ha spostato i datapoint",
|
|
221
|
+
"es": "ebusd v24.1 movió puntos de datos",
|
|
222
|
+
"pl": "ebusd v24.1 przeniósł punkty danych",
|
|
223
|
+
"uk": "ebusd v24.1 переміщено точки даних",
|
|
224
|
+
"zh-cn": "ebusd v24.1 移动数据点"
|
|
225
|
+
},
|
|
226
|
+
"text": {
|
|
227
|
+
"en": "In version 24.1 many data points were moved. Please check the links. Old data points are still available in the tree, but are no longer updated.",
|
|
228
|
+
"de": "In Version 24.1 wurden viele Datenpunkte verschoben. Bitte überprüfen Sie die Links. Alte Datenpunkte sind weiterhin im Baum verfügbar, werden jedoch nicht mehr aktualisiert.",
|
|
229
|
+
"ru": "В версии 24.1 многие точки данных были перемещены. Пожалуйста, проверьте ссылки. Старые точки данных по-прежнему доступны в дереве, но больше не обновляются.",
|
|
230
|
+
"pt": "Na versão 24.1 muitos pontos de dados foram movidos. Por favor, verifique os links. Os pontos de dados antigos ainda estão disponíveis na árvore, mas não são mais atualizados.",
|
|
231
|
+
"nl": "In versie 24.1 zijn veel datapunten verplaatst. Controleer de links. Oude gegevenspunten zijn nog steeds beschikbaar in de boom, maar worden niet langer bijgewerkt.",
|
|
232
|
+
"fr": "Dans la version 24.1, de nombreux points de données ont été déplacés. Veuillez vérifier les liens. Les anciens points de données sont toujours disponibles dans l'arborescence, mais ne sont plus mis à jour.",
|
|
233
|
+
"it": "Nella versione 24.1 sono stati spostati molti punti dati. Si prega di controllare i collegamenti. I vecchi punti dati sono ancora disponibili nell'albero, ma non vengono più aggiornati.",
|
|
234
|
+
"es": "En la versión 24.1 se movieron muchos puntos de datos. Por favor revise los enlaces. Los puntos de datos antiguos todavía están disponibles en el árbol, pero ya no se actualizan.",
|
|
235
|
+
"pl": "W wersji 24.1 przeniesiono wiele punktów danych. Proszę sprawdzić linki. Stare punkty danych są nadal dostępne w drzewie, ale nie są już aktualizowane.",
|
|
236
|
+
"uk": "У версії 24.1 багато точок даних було переміщено. Будь ласка, перевірте посилання. Старі точки даних все ще доступні в дереві, але більше не оновлюються.",
|
|
237
|
+
"zh-cn": "在 24.1 版本中,许多数据点被移动。请检查链接。旧数据点在树中仍然可用,但不再更新。"
|
|
238
|
+
},
|
|
239
|
+
"level": "warn",
|
|
240
|
+
"buttons": [
|
|
241
|
+
"agree",
|
|
242
|
+
"cancel"
|
|
243
|
+
]
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"condition": {
|
|
247
|
+
"operand": "and",
|
|
248
|
+
"rules": [
|
|
249
|
+
"oldVersion<3.3.8",
|
|
250
|
+
"newVersion>=3.3.8"
|
|
251
|
+
]
|
|
252
|
+
},
|
|
253
|
+
"title": {
|
|
254
|
+
"en": "widgets are installed again",
|
|
255
|
+
"de": "Widgets werden erneut installiert",
|
|
256
|
+
"ru": "виджеты установлены снова",
|
|
257
|
+
"pt": "widgets são instalados novamente",
|
|
258
|
+
"nl": "widgets zijn opnieuw geïnstalleerd",
|
|
259
|
+
"fr": "les widgets sont à nouveau installés",
|
|
260
|
+
"it": "i widget vengono installati di nuovo",
|
|
261
|
+
"es": "Los widgets se instalan nuevamente.",
|
|
262
|
+
"pl": "widżety zostaną ponownie zainstalowane",
|
|
263
|
+
"uk": "віджети встановлюються знову",
|
|
264
|
+
"zh-cn": "再次安装小部件"
|
|
265
|
+
},
|
|
266
|
+
"text": {
|
|
267
|
+
"en": "widgets for vis are installed again. It might be necessary to upload complete vis again. For vis-2 users a new general widget set is available.",
|
|
268
|
+
"de": "Widgets für vis werden erneut installiert. Es kann erforderlich sein, die vollständige Vis erneut hochzuladen. Für vis-2-Benutzer ist ein neues allgemeines Widget-Set verfügbar.",
|
|
269
|
+
"ru": "виджеты для вис установлены заново. Возможно, потребуется снова загрузить полную версию. Для пользователей vis-2 доступен новый общий набор виджетов.",
|
|
270
|
+
"pt": "widgets para vis são instalados novamente. Pode ser necessário carregar o vis completo novamente. Para usuários do vis-2, um novo conjunto geral de widgets está disponível.",
|
|
271
|
+
"nl": "widgets voor vis zijn opnieuw geïnstalleerd. Het kan nodig zijn om de volledige vis opnieuw te uploaden. Voor vis-2-gebruikers is een nieuwe algemene widgetset beschikbaar.",
|
|
272
|
+
"fr": "les widgets pour vis sont à nouveau installés. Il peut être nécessaire de télécharger à nouveau la vis complète. Pour les utilisateurs vis-2, un nouvel ensemble de widgets généraux est disponible.",
|
|
273
|
+
"it": "i widget per vis vengono installati di nuovo. Potrebbe essere necessario caricare nuovamente la vis completa. Per gli utenti vis-2 è disponibile un nuovo set di widget generali.",
|
|
274
|
+
"es": "Los widgets para vis se instalan nuevamente. Puede que sea necesario volver a cargar el vis completo. Para los usuarios de vis-2 hay disponible un nuevo conjunto de widgets generales.",
|
|
275
|
+
"pl": "widżety dla vis zostały ponownie zainstalowane. Może być konieczne ponowne przesłanie kompletnego vis. Dla użytkowników vis-2 dostępny jest nowy ogólny zestaw widżetów.",
|
|
276
|
+
"uk": "знову встановлені віджети для vis. Можливо, доведеться знову завантажити повний віз. Для користувачів vis-2 доступний новий загальний набір віджетів.",
|
|
277
|
+
"zh-cn": "vis 小部件再次安装。可能需要再次上传完整的 vis。对于 vis-2 用户,可以使用新的通用小部件集。"
|
|
278
|
+
},
|
|
279
|
+
"level": "warn",
|
|
280
|
+
"buttons": [
|
|
281
|
+
"agree",
|
|
282
|
+
"cancel"
|
|
283
|
+
]
|
|
204
284
|
}
|
|
205
285
|
]
|
|
206
286
|
},
|
|
@@ -209,13 +289,94 @@
|
|
|
209
289
|
"interfacetype": "ebusd",
|
|
210
290
|
"targetHTTPPort": 8889,
|
|
211
291
|
"targetTelnetPort": 8890,
|
|
212
|
-
"PolledValues": "",
|
|
213
|
-
"HistoryValues": "",
|
|
214
292
|
"parseTimeout": 60,
|
|
215
293
|
"useBoolean4Onoff": false,
|
|
216
294
|
"PolledDPs": [],
|
|
217
295
|
"HistoryDPs": [],
|
|
218
296
|
"maxretries": 5,
|
|
219
|
-
"readInterval": 5
|
|
297
|
+
"readInterval": 5,
|
|
298
|
+
"History4Vis2": false,
|
|
299
|
+
"HTTPparameter": [
|
|
300
|
+
{
|
|
301
|
+
"active": false,
|
|
302
|
+
"name": "since",
|
|
303
|
+
"value": 300
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"active": false,
|
|
307
|
+
"name": "poll",
|
|
308
|
+
"value": "prio"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"active": false,
|
|
312
|
+
"name": "exact",
|
|
313
|
+
"value": "true"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"active": false,
|
|
317
|
+
"name": "verbose",
|
|
318
|
+
"value": "true"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"active": false,
|
|
322
|
+
"name": "indexed",
|
|
323
|
+
"value": "true"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"active": false,
|
|
327
|
+
"name": "numeric",
|
|
328
|
+
"value": "true"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"active": false,
|
|
332
|
+
"name": "valuename",
|
|
333
|
+
"value": "true"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"active": false,
|
|
337
|
+
"name": "full",
|
|
338
|
+
"value": "true"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"active": false,
|
|
342
|
+
"name": "required",
|
|
343
|
+
"value": "true"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"active": false,
|
|
347
|
+
"name": "maxage",
|
|
348
|
+
"value": "5000"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"active": false,
|
|
352
|
+
"name": "write",
|
|
353
|
+
"value": "true"
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"active": false,
|
|
357
|
+
"name": "raw",
|
|
358
|
+
"value": "true"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"active": false,
|
|
362
|
+
"name": "def",
|
|
363
|
+
"value": "true"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"active": false,
|
|
367
|
+
"name": "define",
|
|
368
|
+
"value": "DEFINITION"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"active": false,
|
|
372
|
+
"name": "user",
|
|
373
|
+
"value": "USER"
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"active": false,
|
|
377
|
+
"name": "secret",
|
|
378
|
+
"value": "SECRET"
|
|
379
|
+
}
|
|
380
|
+
]
|
|
220
381
|
}
|
|
221
382
|
}
|
package/main.js
CHANGED
|
@@ -64,7 +64,7 @@ function startAdapter(options) {
|
|
|
64
64
|
switch (obj.command) {
|
|
65
65
|
case "findParams":
|
|
66
66
|
// e.g. send email or pushover or whatever
|
|
67
|
-
adapter.log.debug("findParams command");
|
|
67
|
+
//adapter.log.debug("findParams command");
|
|
68
68
|
// Send response in callback if required
|
|
69
69
|
await FindParams(obj);
|
|
70
70
|
break;
|
|
@@ -96,6 +96,7 @@ async function main() {
|
|
|
96
96
|
|
|
97
97
|
FillPolledVars();
|
|
98
98
|
FillHistoryVars();
|
|
99
|
+
FillHTTPParamsVars();
|
|
99
100
|
|
|
100
101
|
await checkVariables();
|
|
101
102
|
|
|
@@ -256,7 +257,15 @@ function FillHistoryVars() {
|
|
|
256
257
|
}
|
|
257
258
|
}
|
|
258
259
|
|
|
260
|
+
let oHTTPParamsVars = [];
|
|
261
|
+
function FillHTTPParamsVars() {
|
|
262
|
+
if (adapter.config.HTTPparameter !== undefined && adapter.config.HTTPparameter != null && adapter.config.HTTPparameter.length > 0) {
|
|
259
263
|
|
|
264
|
+
oHTTPParamsVars = adapter.config.HTTPparameter;
|
|
265
|
+
|
|
266
|
+
adapter.log.debug("use optionally HTTP parameter " + JSON.stringify(oHTTPParamsVars));
|
|
267
|
+
}
|
|
268
|
+
}
|
|
260
269
|
|
|
261
270
|
|
|
262
271
|
|
|
@@ -385,6 +394,31 @@ async function ebusd_find(){
|
|
|
385
394
|
|
|
386
395
|
//just call http://192.168.0.123:8889/data
|
|
387
396
|
|
|
397
|
+
|
|
398
|
+
/*
|
|
399
|
+
http://localhost:8080/data/mc?verbose&since=1483890000&exact
|
|
400
|
+
|
|
401
|
+
since=seconds: limit to messages that have changed since the specified UTC seconds
|
|
402
|
+
poll=prio: set the poll priority of matching message(s) to prio
|
|
403
|
+
exact[=true]: exact search for circuit/message name
|
|
404
|
+
verbose[=true]: include comments and field units
|
|
405
|
+
indexed[=true]: return field indexes instead of names
|
|
406
|
+
numeric[=true]: return numeric values of value list entries
|
|
407
|
+
valuename[=true]: include value and name of value list entries
|
|
408
|
+
full[=true]: include all available attributes
|
|
409
|
+
required[=true]: retrieve the data from the bus if not yet cached
|
|
410
|
+
maxage[=seconds]: retrieve the data from the bus if cached value is older than specified seconds (or not present at all)
|
|
411
|
+
write[=true]: include write messages in addition to read
|
|
412
|
+
raw[=true]: include the raw master/slave symbols as int arrays
|
|
413
|
+
def[=true]: include message/field definition (qq, id, fielddefs)
|
|
414
|
+
define=DEFINITION: (re-)define the message from DEFINITION (in CSV format)
|
|
415
|
+
user=USER: authenticate with USER name
|
|
416
|
+
secret=SECRET: authenticate with user SECRET
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
*/
|
|
420
|
+
|
|
421
|
+
|
|
388
422
|
async function subscribeVars() {
|
|
389
423
|
adapter.subscribeStates("cmd");
|
|
390
424
|
|
|
@@ -608,12 +642,28 @@ function VersionCheck() {
|
|
|
608
642
|
//get data via https in json -> this is the main data receiver; telnet just triggers ebusd to read data;
|
|
609
643
|
//https://github.com/john30/ebusd/wiki/3.2.-HTTP-client
|
|
610
644
|
|
|
645
|
+
async function ebusd_ReceiveData() {
|
|
611
646
|
|
|
647
|
+
let sUrl = "http://" + adapter.config.targetIP + ":" + parseInt(adapter.config.targetHTTPPort) + "/data";
|
|
612
648
|
|
|
649
|
+
//Erweiterung mit optionalen parametern
|
|
650
|
+
var paramsCnt = 0;
|
|
651
|
+
if (oHTTPParamsVars !== undefined && oHTTPParamsVars != null && oHTTPParamsVars.length > 0) {
|
|
652
|
+
for (let i = 0; i < oHTTPParamsVars.length; i++) {
|
|
613
653
|
|
|
614
|
-
|
|
654
|
+
if (oHTTPParamsVars[i].active) {
|
|
655
|
+
if (paramsCnt == 0) {
|
|
656
|
+
sUrl += "?" ;
|
|
657
|
+
}
|
|
658
|
+
else {
|
|
659
|
+
sUrl += "&";
|
|
660
|
+
}
|
|
661
|
+
sUrl += oHTTPParamsVars[i].name + "=" + oHTTPParamsVars[i].value;
|
|
662
|
+
paramsCnt++;
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
}
|
|
615
666
|
|
|
616
|
-
const sUrl = "http://" + adapter.config.targetIP + ":" + parseInt(adapter.config.targetHTTPPort) + "/data";
|
|
617
667
|
adapter.log.debug("request data from " + sUrl);
|
|
618
668
|
|
|
619
669
|
try {
|
|
@@ -1257,72 +1307,86 @@ async function ebusd_ReadValues() {
|
|
|
1257
1307
|
|
|
1258
1308
|
async function FindParams(obj) {
|
|
1259
1309
|
|
|
1260
|
-
adapter.log.debug("FindParams " + JSON.stringify(obj));
|
|
1310
|
+
adapter.log.debug("FindParams " + JSON.stringify(obj) + " " + JSON.stringify(obj.message) + " " + JSON.stringify(obj.message.circuit));
|
|
1261
1311
|
|
|
1262
1312
|
const list = [];
|
|
1313
|
+
|
|
1263
1314
|
|
|
1264
1315
|
try {
|
|
1265
|
-
|
|
1316
|
+
//FindParams {"command":"findParams","message":{"circuit":"cc"},"from":"system.adapter.admin.0","callback":{"message":{"circuit":"cc"},"id":90,"ack":false,"time":1733690088670},"_id":39690903}
|
|
1266
1317
|
|
|
1267
|
-
|
|
1268
|
-
const promiseSocket = new PromiseSocket(socket);
|
|
1318
|
+
if (obj.message != null) {
|
|
1269
1319
|
|
|
1270
|
-
|
|
1271
|
-
adapter.log.debug("telnet connected for cmd");
|
|
1272
|
-
promiseSocket.setTimeout(5000);
|
|
1320
|
+
const circuit = obj.message.circuit;
|
|
1273
1321
|
|
|
1274
|
-
|
|
1322
|
+
const socket = new net.Socket();
|
|
1323
|
+
const promiseSocket = new PromiseSocket(socket);
|
|
1275
1324
|
|
|
1276
|
-
|
|
1325
|
+
await promiseSocket.connect(parseInt(adapter.config.targetTelnetPort), adapter.config.targetIP);
|
|
1326
|
+
adapter.log.debug("telnet connected for cmd");
|
|
1327
|
+
promiseSocket.setTimeout(5000);
|
|
1277
1328
|
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
}
|
|
1281
|
-
else {
|
|
1282
|
-
adapter.log.debug("received " + typeof data + " " + data);
|
|
1283
|
-
}
|
|
1284
|
-
/*
|
|
1285
|
-
received object ehp,AccelerationTestModeehp,AccelerationTestModeehp,ActualEnvironmentPowerehp,ActualEnvironmentPowerehp,ActualEnvironmentPowerPercentageehp,ActualEnvironmentPowerPercentageehp,ApplianceCodeehp,ApplianceCodeehp,Backupehp,Backupehp,BackupHoursehp,BackupHoursHcehp,BackupHoursHwcehp,BackupHysteresisehp,BackupIntegralehp,BackupModeHcehp,BackupModeHwcehp,BackupPowerCutehp,BackupStartsehp,BackupStartsHcehp,BackupStartsHwcehp,BackupTypeehp,BivalentTempehp,Bleedingehp,Bleedingehp,CirPumpehp,CirPumpehp,Code1ehp,Code1Code2Validehp,Code2ehp,Compehp,Compehp,CompControlStateehp,CompCutPressHighCountehp,CompCutPressLowCountehp,CompCutTempCountehp,CompDemandehp,CompHoursehp,CompHoursHcehp,CompHoursHwcehp,CompHysteresisehp,CompIntegralehp,CompPressHighehp,CompPressHighehp,CompPressLowehp,CompPressLowehp,CompStartsehp,CompStartsHcehp,CompStartsHwcehp,CompStateehp,CondensorTempehp,CondensorTempehp,currenterrorehp,Dateehp,DateTimeehp,DeltaTempT6T7ehp,ElectricWiringDiagramehp,ElectricWiringDiagramehp,EnergyBalancingReleaseehp,errorhistoryehp,FlowTempehp,FlowTempehp,FlowtempCoolingMinehp,FlowTempOffsetehp,Hc1Pumpehp,Hc1Pumpehp,Hc1PumpHoursehp,Hc1PumpPortehp,Hc1PumpStartsehp,Hc2Pumpehp,Hc2PumpHoursehp,HcFlowTempehp,HcFlowTempOffsetehp,HcModeDemandHoursehp,HcModeFulfilledHoursehp,HcParallelStorageFillingEnabledehp,HcPressehp,HcReturnTempehp,HcReturnTempehp,HcReturnTempOffsetehp,HeatPumpStatusehp,HeatPumpStatusehp,HeatpumpTypeehp,HwcHcValveehp,HwcHcValveehp,HwcHcValveStartsehp,HwcLaggingTimeehp,HwcLoadingDelayehp,HwcModeDemandHoursehp,HwcModeFulfilledHoursehp,HwcPumpStartsehp,HwcSwitchehp,HwcTempehp,HwcTempehp,HwcTempOffsetehp,HydraulicSchemeehp,ICLOutehp,ICLOutehp,Injectionehp,Integralehp,Mixer1DutyCycleehp,NumberCompStartsehp,OutsideTempehp,OutsideTempOffsetehp,OverpressureThresholdehp,PhaseOrderehp,PhaseOrderehp,PhaseStatusehp,PhaseStatusehp,PowerCutehp,PowerCutPreloadingehp,PressSwitchehp,PressSwitchehp,RebootCounterehp,ReturnTempMaxehp,SetModeehp,SoftwareCodeehp,Source2PumpHoursehp,Sourceehp,Sourceehp,SourceHoursehp,SourcePortehp,SourcePressehp,SourcePumpPrerunTimeehp,SourceStartsehp,SourceSwitchehp,SourceSwitchehp,SourceTempInputehp,SourceTempInputehp,SourceTempInputOffsetehp,SourceTempOutputehp,SourceTempOutputehp,SourceTempOutputOffsetehp,SourceTempOutputT8Minehp,StateSoftwareCodeehp,StateSoftwareCodeehp,Status01ehp,Status02ehp,Status16ehp,Statusehp,StatusCirPumpehp,StorageTempBottomehp,StorageTempBottomehp,StorageTempBottomOffsetehp,StorageTempTopehp,StorageTempTopehp,StorageTempTopOffsetehp,Subcoolingehp,Superheatehp,T19MaxToCompOffehp,TempInputehp,TempInputehp,TempInputOffsetehp,TempOutputehp,TempOutputehp,TempOutputOffsetehp,Timeehp,TimeBetweenTwoCompStartsMinehp,TimeCompOffMinehp,TimeCompOnMinehp,TimeOfNextPredictedPowerCutehp,TimeOfNextPredictedPowerCutehp,Weekdayehp,YieldTotalehp,YieldTotal
|
|
1286
|
-
*/
|
|
1287
|
-
const str = new TextDecoder().decode(data);
|
|
1288
|
-
const datas = str.split(/\r?\n/);
|
|
1329
|
+
const cmd = "find -c " + circuit + " -F circuit,name\n";
|
|
1330
|
+
await promiseSocket.write(cmd);
|
|
1289
1331
|
|
|
1290
|
-
|
|
1332
|
+
const data = await promiseSocket.read();
|
|
1291
1333
|
|
|
1292
|
-
|
|
1334
|
+
if (data.includes("ERR")) {
|
|
1335
|
+
adapter.log.warn("received error! sent find, received " + data + " please check ebusd logs for details! " + cmd);
|
|
1336
|
+
}
|
|
1337
|
+
else {
|
|
1338
|
+
adapter.log.debug("received " + typeof data + " " + data + " " + + cmd);
|
|
1339
|
+
}
|
|
1340
|
+
/*
|
|
1341
|
+
received object ehp,AccelerationTestModeehp,AccelerationTestModeehp,ActualEnvironmentPowerehp,ActualEnvironmentPowerehp,ActualEnvironmentPowerPercentageehp,ActualEnvironmentPowerPercentageehp,ApplianceCodeehp,ApplianceCodeehp,Backupehp,Backupehp,BackupHoursehp,BackupHoursHcehp,BackupHoursHwcehp,BackupHysteresisehp,BackupIntegralehp,BackupModeHcehp,BackupModeHwcehp,BackupPowerCutehp,BackupStartsehp,BackupStartsHcehp,BackupStartsHwcehp,BackupTypeehp,BivalentTempehp,Bleedingehp,Bleedingehp,CirPumpehp,CirPumpehp,Code1ehp,Code1Code2Validehp,Code2ehp,Compehp,Compehp,CompControlStateehp,CompCutPressHighCountehp,CompCutPressLowCountehp,CompCutTempCountehp,CompDemandehp,CompHoursehp,CompHoursHcehp,CompHoursHwcehp,CompHysteresisehp,CompIntegralehp,CompPressHighehp,CompPressHighehp,CompPressLowehp,CompPressLowehp,CompStartsehp,CompStartsHcehp,CompStartsHwcehp,CompStateehp,CondensorTempehp,CondensorTempehp,currenterrorehp,Dateehp,DateTimeehp,DeltaTempT6T7ehp,ElectricWiringDiagramehp,ElectricWiringDiagramehp,EnergyBalancingReleaseehp,errorhistoryehp,FlowTempehp,FlowTempehp,FlowtempCoolingMinehp,FlowTempOffsetehp,Hc1Pumpehp,Hc1Pumpehp,Hc1PumpHoursehp,Hc1PumpPortehp,Hc1PumpStartsehp,Hc2Pumpehp,Hc2PumpHoursehp,HcFlowTempehp,HcFlowTempOffsetehp,HcModeDemandHoursehp,HcModeFulfilledHoursehp,HcParallelStorageFillingEnabledehp,HcPressehp,HcReturnTempehp,HcReturnTempehp,HcReturnTempOffsetehp,HeatPumpStatusehp,HeatPumpStatusehp,HeatpumpTypeehp,HwcHcValveehp,HwcHcValveehp,HwcHcValveStartsehp,HwcLaggingTimeehp,HwcLoadingDelayehp,HwcModeDemandHoursehp,HwcModeFulfilledHoursehp,HwcPumpStartsehp,HwcSwitchehp,HwcTempehp,HwcTempehp,HwcTempOffsetehp,HydraulicSchemeehp,ICLOutehp,ICLOutehp,Injectionehp,Integralehp,Mixer1DutyCycleehp,NumberCompStartsehp,OutsideTempehp,OutsideTempOffsetehp,OverpressureThresholdehp,PhaseOrderehp,PhaseOrderehp,PhaseStatusehp,PhaseStatusehp,PowerCutehp,PowerCutPreloadingehp,PressSwitchehp,PressSwitchehp,RebootCounterehp,ReturnTempMaxehp,SetModeehp,SoftwareCodeehp,Source2PumpHoursehp,Sourceehp,Sourceehp,SourceHoursehp,SourcePortehp,SourcePressehp,SourcePumpPrerunTimeehp,SourceStartsehp,SourceSwitchehp,SourceSwitchehp,SourceTempInputehp,SourceTempInputehp,SourceTempInputOffsetehp,SourceTempOutputehp,SourceTempOutputehp,SourceTempOutputOffsetehp,SourceTempOutputT8Minehp,StateSoftwareCodeehp,StateSoftwareCodeehp,Status01ehp,Status02ehp,Status16ehp,Statusehp,StatusCirPumpehp,StorageTempBottomehp,StorageTempBottomehp,StorageTempBottomOffsetehp,StorageTempTopehp,StorageTempTopehp,StorageTempTopOffsetehp,Subcoolingehp,Superheatehp,T19MaxToCompOffehp,TempInputehp,TempInputehp,TempInputOffsetehp,TempOutputehp,TempOutputehp,TempOutputOffsetehp,Timeehp,TimeBetweenTwoCompStartsMinehp,TimeCompOffMinehp,TimeCompOnMinehp,TimeOfNextPredictedPowerCutehp,TimeOfNextPredictedPowerCutehp,Weekdayehp,YieldTotalehp,YieldTotal
|
|
1342
|
+
*/
|
|
1343
|
+
const str = new TextDecoder().decode(data);
|
|
1344
|
+
const datas = str.split(/\r?\n/);
|
|
1293
1345
|
|
|
1294
|
-
|
|
1346
|
+
for (let i = 0; i < datas.length; i++) {
|
|
1295
1347
|
|
|
1296
|
-
|
|
1297
|
-
let add = true;
|
|
1348
|
+
//adapter.log.debug(JSON.stringify(datas[i]));
|
|
1298
1349
|
|
|
1299
|
-
|
|
1300
|
-
add = false;
|
|
1301
|
-
}
|
|
1302
|
-
else {
|
|
1350
|
+
const names = datas[i].split(",");
|
|
1303
1351
|
|
|
1304
|
-
|
|
1352
|
+
//doppelte und leere herausfiltern
|
|
1353
|
+
let add = true;
|
|
1305
1354
|
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1355
|
+
if (names[0] == "" || names[1] == "") {
|
|
1356
|
+
add = false;
|
|
1357
|
+
}
|
|
1358
|
+
else {
|
|
1359
|
+
|
|
1360
|
+
for (let n = 0; n < list.length; n++) {
|
|
1361
|
+
|
|
1362
|
+
if (list[n].circuit == names[0] && list[n].name == names[1]) {
|
|
1363
|
+
add = false;
|
|
1364
|
+
//already in list
|
|
1365
|
+
}
|
|
1309
1366
|
}
|
|
1310
1367
|
}
|
|
1311
|
-
}
|
|
1312
1368
|
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1369
|
+
if (add) {
|
|
1370
|
+
const entry = {
|
|
1371
|
+
active: false,
|
|
1372
|
+
circuit: names[0],
|
|
1373
|
+
name: names[1]
|
|
1374
|
+
};
|
|
1319
1375
|
|
|
1320
|
-
|
|
1376
|
+
list.push(entry);
|
|
1377
|
+
}
|
|
1321
1378
|
}
|
|
1322
1379
|
}
|
|
1380
|
+
else {
|
|
1381
|
+
adapter.log.error("no circuit defined where to look for parameter, check values!");
|
|
1382
|
+
}
|
|
1323
1383
|
} catch (e) {
|
|
1324
1384
|
adapter.log.error("exception in FindParams " + "[" + e + "]");
|
|
1325
1385
|
}
|
|
1386
|
+
|
|
1387
|
+
adapter.log.info("parameters " + JSON.stringify(list));
|
|
1388
|
+
|
|
1389
|
+
|
|
1326
1390
|
adapter.sendTo(obj.from, obj.command, list, obj.callback);
|
|
1327
1391
|
}
|
|
1328
1392
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.ebus",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"description": "ioBroker ebus Adapter",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "René G.",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"node": ">= 18"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@iobroker/adapter-core": "^3.2.
|
|
27
|
-
"axios": "^1.7.
|
|
26
|
+
"@iobroker/adapter-core": "^3.2.3",
|
|
27
|
+
"axios": "^1.7.9",
|
|
28
28
|
"flat": "^5.0.2",
|
|
29
29
|
"net": "^1.0.2",
|
|
30
30
|
"promise-socket": "^7.0.0"
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"!test",
|
|
59
59
|
"!typings",
|
|
60
60
|
"www/",
|
|
61
|
+
"widgets/",
|
|
61
62
|
"io-package.json",
|
|
62
63
|
"LICENSE",
|
|
63
64
|
"main.js"
|
|
Binary file
|