iobroker.ebus 2.2.6 → 2.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.
@@ -51,7 +51,7 @@ jobs:
51
51
  runs-on: ${{ matrix.os }}
52
52
  strategy:
53
53
  matrix:
54
- node-version: [10.x, 12.x, 14.x, 16.x]
54
+ node-version: [12.x, 14.x, 16.x]
55
55
  os: [ubuntu-latest, windows-latest, macos-latest]
56
56
  exclude:
57
57
  # Don't test Node.js 8 on Windows. npm is weird here
package/README.md CHANGED
@@ -11,12 +11,10 @@
11
11
  [![NPM](https://nodei.co/npm/iobroker.ebus.png?downloads=true)](https://nodei.co/npm/iobroker.ebus/)
12
12
 
13
13
 
14
-
15
14
  **This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.**
16
15
  For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
17
16
 
18
17
 
19
-
20
18
  **If you like it, please consider a donation:**
21
19
 
22
20
  [![paypal](https://www.paypalobjects.com/en_US/DK/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YBAZTEBT9SYC2&source=url)
@@ -32,14 +30,39 @@ There is a possibillity to poll data which are not polled by ebusd directly. Com
32
30
 
33
31
  Another feature is to send any command to ebusd and receive answer to work with e.g. scripts.
34
32
 
35
- current supported ebusd-version: 3.3
33
+ current supported ebusd-version: 21.2
34
+
35
+
36
+ ## how to send commands to ebusd
37
+ 1. write a single command or an command list on datapoint ebus.0.cmd
38
+ If you want to use more then one command, use , to separate single commands.
39
+ example:
40
+ read -f YieldTotal,read LegioProtectionEnabled,read -f -c broadcast outsidetemp
41
+
42
+ 2. when command is executed you will receive results per command in datapoint ebus.0.cmdResult
43
+ The result is also comma-separeted
44
+ example:
45
+ 2000, ERR: element not found, 10.5
46
+
47
+ Attention: command in datapoint ebus.0.cmd is deleted after executing of command!
48
+
36
49
 
37
50
  ## known issues
38
51
  * please create issues at [github](https://github.com/rg-engineering/ioBroker.ebus/issues) if you find bugs or whish new features
39
52
 
40
53
  ## Changelog
41
54
 
42
- ## 2.2.6 (2021-07-07)
55
+ ## 2.4.0 (in progress)
56
+ * (René) overwork handling of read datapoints and history datapoints, circuit added optionally
57
+ * (René) command can now include more then one command, just separate commands with ','
58
+ * (René) see issue #55: warnings changed to debug messages
59
+
60
+ ## 2.3.2 (2021-09-02)
61
+ * (René) see issue #49: support for ebusd 21.2
62
+ * (René) see issue #40: option to use boolean instead string for values with on/off
63
+ * (René) dependencies updated
64
+
65
+ ## 2.2.7 (2021-07-03)
43
66
  * (René) dependencies updated
44
67
  * (René) see issue #48: bug fix for wrong data type logs
45
68
 
@@ -1,24 +1,54 @@
1
1
  <html>
2
2
 
3
3
  <head>
4
+ <!-- Load ioBroker scripts and styles-->
5
+ <link rel="stylesheet" type="text/css" href="../../lib/css/fancytree/ui.fancytree.min.css" />
4
6
  <link rel="stylesheet" type="text/css" href="../../css/adapter.css" />
5
7
  <link rel="stylesheet" type="text/css" href="../../lib/css/materialize.css">
6
8
 
7
9
  <script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script>
8
10
  <script type="text/javascript" src="../../socket.io/socket.io.js"></script>
9
11
 
10
- <script type="text/javascript" src="../../js/translate.js"></script>
11
12
  <script type="text/javascript" src="../../lib/js/materialize.js"></script>
13
+ <script type="text/javascript" src="../../lib/js/jquery-ui.min.js"></script>
14
+ <script type="text/javascript" src="../../lib/js/jquery.fancytree-all.min.js"></script>
15
+
16
+ <script type="text/javascript" src="../../js/translate.js"></script>
17
+ <script type="text/javascript" src="../../lib/js/selectID.js"></script>
12
18
  <script type="text/javascript" src="../../js/adapter-settings.js"></script>
19
+
20
+ <!-- my own styles -->
21
+ <link rel="stylesheet" type="text/css" href="style.css" />
13
22
  <script type="text/javascript" src="words.js"></script>
14
23
 
15
24
 
16
25
  <style>
17
- .polled {
18
- height: 100px !important;
26
+
27
+ #dialog-room-edit {
28
+ max-height: 95% !important;
29
+ max-width: 85% !important;
30
+ width: 80% !important;
31
+ height: 90% !important;
32
+ overflow: visible !important;
33
+ top: 10px !important;
19
34
  }
20
- .adapter-body {
21
- overflow: hidden !important;
35
+
36
+ #dialog-select-member {
37
+ max-height: 95% !important;
38
+ max-width: 85% !important;
39
+ width: 80% !important;
40
+ height: 90% !important;
41
+ overflow: visible !important;
42
+ top: 10px !important;
43
+ }
44
+
45
+ .collapsible-body {
46
+ margin-left: 2rem !important;
47
+ padding-top: 0 !important;
48
+ }
49
+
50
+ redlabel {
51
+ color: red;
22
52
  }
23
53
  </style>
24
54
 
@@ -26,11 +56,6 @@
26
56
  <!-- you have to define 2 functions in the global scope: -->
27
57
  <script type="text/javascript">
28
58
 
29
-
30
-
31
-
32
-
33
-
34
59
  // the function loadSettings has to exist ...
35
60
  function load(settings, onChange) {
36
61
 
@@ -52,14 +77,94 @@
52
77
  }
53
78
  }
54
79
 
55
-
80
+ myOnChange = onChange;
56
81
  // Signal to admin, that no changes yet
57
82
  onChange(false);
58
83
 
59
84
  M.updateTextFields();
60
85
 
86
+ FillTablePolledDP(settings);
87
+ FillTableHistoryDP(settings);
88
+
61
89
  }
62
90
 
91
+ function FillTablePolledDP(settings) {
92
+
93
+ if (typeof settings.PolledDPs !== 'undefined' && settings.PolledDPs != null && settings.PolledDPs.length > 0) {
94
+
95
+ values2table('polledDP', settings.PolledDPs, OnChange, tablePolledDPOnReady);
96
+ console.log('using new PolledDPs from settings ' + JSON.stringify(settings.PolledDPs));
97
+ }
98
+ // make it compatible to older versions
99
+ else if (typeof settings.PolledValues !== 'undefined' && settings.PolledValues != null) {
100
+
101
+ var values = settings.PolledValues.split(",");
102
+
103
+ var newValues = [];
104
+ for (let i = 0; i < values.length; i++) {
105
+ console.log('add ' + values[i]);
106
+ const value = {
107
+ circuit: "",
108
+ name: values[i],
109
+ parameter: "",
110
+ }
111
+ newValues.push(value);
112
+ }
113
+ values2table('polledDP', newValues, OnChange, tablePolledDPOnReady);
114
+ console.log('using PolledValues from settings ' + JSON.stringify(settings.PolledValues) + " " + JSON.stringify(newValues));
115
+
116
+ }
117
+
118
+ }
119
+
120
+ function tablePolledDPOnReady() {
121
+
122
+ showHideSettings();
123
+ }
124
+
125
+ var myOnChange = null;
126
+ function OnChange() {
127
+ //do nothing
128
+ console.log('on change called');
129
+
130
+ if (myOnChange != null) {
131
+ myOnChange();
132
+ }
133
+ }
134
+
135
+ function showHideSettings() {
136
+
137
+ }
138
+
139
+ function FillTableHistoryDP(settings) {
140
+
141
+ if (typeof settings.HistoryDPs !== 'undefined' && settings.HistoryDPs != null && settings.HistoryDPs.length > 0) {
142
+
143
+ values2table('historyDP', settings.HistoryDPs, OnChange, tableHistoryDPOnReady);
144
+ console.log('using new HistoryDPs from settings ' + JSON.stringify(settings.HistoryDPs));
145
+ }
146
+ // make it compatible to older versions
147
+ else if (typeof settings.HistoryValues !== 'undefined' && settings.HistoryValues != null) {
148
+
149
+ var values = settings.HistoryValues.split(",");
150
+
151
+ var newValues = [];
152
+ for (let i = 0; i < values.length; i++) {
153
+ console.log('add ' + values[i]);
154
+ const value = {
155
+ name: values[i],
156
+ }
157
+ newValues.push(value);
158
+ }
159
+ values2table('historyDP', newValues, OnChange, tableHistoryDPOnReady);
160
+ console.log('using HistoryValues from settings ' + JSON.stringify(settings.HistoryValues) + " " + JSON.stringify(newValues));
161
+
162
+ }
163
+ }
164
+
165
+ function tableHistoryDPOnReady() {
166
+
167
+ }
63
168
 
64
169
  // ... and the function save has to exist.
65
170
  // you have to make sure the callback is called with the settings object as first param!
@@ -68,12 +173,26 @@
68
173
  var obj = {};
69
174
  $('.value').each(function () {
70
175
  var $this = $(this);
71
- obj[$this.attr('id')] = $this.val();
176
+
177
+ var id = $this.attr('id');
178
+
179
+ if ($this.attr('type') === 'checkbox') {
180
+ obj[$this.attr('id')] = $this.prop('checked');
181
+ } else {
182
+ obj[$this.attr('id')] = $this.val();
183
+ }
72
184
  });
185
+
186
+ obj.PolledDPs = table2values('polledDP');
187
+ obj.HistoryDPs = table2values('historyDP');
188
+
189
+ obj.PolledValues = "";
190
+ obj.HistoryValues = "";
191
+
73
192
  callback(obj);
74
193
  }
75
194
 
76
-
195
+
77
196
 
78
197
  </script>
79
198
  </head>
@@ -86,6 +205,8 @@
86
205
  <ul class="tabs">
87
206
  <li class="tab col s2"><a href="#tab-main" class="translate active">Main settings</a></li>
88
207
  <li class="tab col s2 le-settings"><a href="#tab-ebusd" class="translate">ebusd</a></li>
208
+ <li class="tab col s2 le-settings"><a href="#tab-polledDP" class="translate">polledDP</a></li>
209
+ <li class="tab col s2 le-settings"><a href="#tab-historyDP" class="translate">historyDP</a></li>
89
210
  </ul>
90
211
  </div>
91
212
 
@@ -99,9 +220,6 @@
99
220
  </div>
100
221
  </div>
101
222
 
102
-
103
-
104
-
105
223
  <div class="row">
106
224
  <div class="input-field col s12 m8 l5">
107
225
  <input type="text" id="targetIP" class="value" />
@@ -109,11 +227,12 @@
109
227
  </div>
110
228
  </div>
111
229
 
112
-
113
-
114
-
115
-
116
-
230
+ <div class="row">
231
+ <div class="input-field col s6">
232
+ <input type="checkbox" id="useBoolean4Onoff" class="value" />
233
+ <label for="useBoolean4Onoff" class="translate">useBoolean4Onoff</label>
234
+ </div>
235
+ </div>
117
236
 
118
237
  </div>
119
238
 
@@ -134,50 +253,99 @@
134
253
  <input class="value number" id="targetHTTPPort" size="5" maxlength="5" type="number" />
135
254
  <label for="targetHTTPPort" class="translate">target_HTTPPort</label>
136
255
  </div>
137
-
256
+ </div>
257
+ <div class="row">
138
258
  <div class="input-field col s12 m4 l3">
139
259
  <input class="value number" id="targetTelnetPort" size="5" maxlength="5" type="number" />
140
260
  <label for="targetTelnetPort" class="translate">target_TelnetPort</label>
141
261
  </div>
142
-
143
-
262
+ </div>
263
+ <div class="row">
144
264
  <div class="input-field col s12 m4 l3">
145
265
  <input class="value number" id="parseTimeout" size="3" maxlength="3" type="number" />
146
266
  <label for="parseTimeout" class="translate">parse_timeout</label>
147
-
148
267
  </div>
268
+ </div>
149
269
 
270
+ <!--
271
+ <div class="row">
272
+ <div class="input-field col s6">
273
+ <textarea class="value materialize-textarea polled" id="PolledValues"></textarea>
274
+ <label class="translate" for="PolledValues">ListOfAllPolledValues</label>
275
+ </div>
150
276
 
277
+ <div class="col s6">
278
+ <span class="translate">hint_ebusd_polled</span>
279
+ </div>
280
+ </div>
151
281
 
152
- </div>
282
+ <div class="row">
283
+ <div class="input-field col s6">
284
+ <textarea class="value materialize-textarea polled" id="HistoryValues"></textarea>
285
+ <label class="translate" for="HistoryValues">ListOfAllHistoryValues</label>
286
+ </div>
153
287
 
154
- <div class="row">
155
- <div class="input-field col s6">
156
- <textarea class="value materialize-textarea polled" id="PolledValues"></textarea>
157
- <label class="translate" for="PolledValues">ListOfAllPolledValues</label>
158
- </div>
288
+ <div class="col s6">
289
+ <span class="translate">hint_ebusd_history</span>
290
+ </div>
291
+ </div>
292
+ -->
293
+
294
+ </div>
295
+
296
+ <!-- tab "tab-polledDP" -->
297
+ <div id="tab-polledDP" class="col s12 page">
159
298
 
299
+ <div class="row">
160
300
  <div class="col s6">
161
301
  <span class="translate">hint_ebusd_polled</span>
162
302
  </div>
163
303
  </div>
164
304
 
165
- <div class="row">
166
- <div class="input-field col s6">
167
- <textarea class="value materialize-textarea polled" id="HistoryValues"></textarea>
168
- <label class="translate" for="HistoryValues">ListOfAllHistoryValues</label>
305
+ <div class="col s12" id="polledDP">
306
+
307
+ <a class="btn-floating waves-effect waves-light blue table-button-add"><i class="material-icons">add</i></a>
308
+
309
+ <div class="table-values-div">
310
+ <table id="table_polledDP" class="table-values" style="width: 100%;">
311
+ <thead>
312
+ <tr>
313
+ <th id="polledDP_col_1" data-name="circuit" style="width: 20%; background: #64b5f6 " class="translate">circuit</th>
314
+ <th id="polledDP_col_2" data-name="name" style="background: #64b5f6" class="translate">name</th>
315
+ <th id="polledDP_col_3" data-name="parameter" style="background: #64b5f6" class="translate">addParameter</th>
316
+ <th data-buttons="up down delete" style="width: 100px; background: #64b5f6"></th>
317
+ </tr>
318
+ </thead>
319
+ </table>
169
320
  </div>
321
+ </div>
322
+ </div>
323
+
324
+ <!-- tab "tab-historyDP" -->
325
+ <div id="tab-historyDP" class="col s12 page">
170
326
 
327
+ <div class="row">
171
328
  <div class="col s6">
172
329
  <span class="translate">hint_ebusd_history</span>
173
330
  </div>
174
331
  </div>
175
-
176
332
 
177
- </div>
333
+ <div class="col s12" id="historyDP">
178
334
 
179
-
335
+ <a class="btn-floating waves-effect waves-light blue table-button-add"><i class="material-icons">add</i></a>
180
336
 
337
+ <div class="table-values-div">
338
+ <table id="table_historyDP" class="table-values" style="width: 100%;">
339
+ <thead>
340
+ <tr>
341
+ <th id="historyDP_col_1" data-name="name" style="width: 20%; background: #64b5f6 " class="translate">name</th>
342
+ <th data-buttons="add up down delete" style="width: 100px; background: #64b5f6"></th>
343
+ </tr>
344
+ </thead>
345
+ </table>
346
+ </div>
347
+ </div>
348
+ </div>
181
349
 
182
350
  </div>
183
351
  </div>
@@ -0,0 +1,18 @@
1
+ /* You can delete those if you want. I just found them very helpful */
2
+ * {
3
+ box-sizing: border-box
4
+ }
5
+
6
+ .m {
7
+ /* Don't cut off dropdowns! */
8
+ overflow: initial;
9
+ }
10
+
11
+ /* Add your styles here */
12
+ .polled {
13
+ height: 100px !important;
14
+ }
15
+
16
+ .adapter-body {
17
+ overflow: auto;
18
+ }
package/admin/words.js CHANGED
@@ -2,16 +2,18 @@
2
2
  'use strict';
3
3
 
4
4
  systemDictionary = {
5
- "ListOfAllHistoryValues": { "en": "comma separated list of datapoints for ebus history widget. Maximum 4 datapoints should be used, more can be used.", "de": "Komma-getrennte Liste von Datenpunkten für ebus history widget. Maximal 4 Datenpunkte sollten verwendet werden, mehr können verwendet werden.", "ru": "разделенный запятыми список точек данных для виджета истории ebus. Необходимо использовать максимум 4 точки данных, больше можно использовать.", "pt": "lista separada por vírgula de pontos de dados para o widget da história do ebus. O máximo de 4 pontos de dados deve ser usado, mais podem ser usados.", "nl": "door komma's gescheiden lijst van gegevenspunten voor de widget van de ebus-geschiedenis. Er moeten maximaal 4 gegevenspunten worden gebruikt, er kunnen er meer worden gebruikt.", "fr": "liste des points de données séparés par des virgules pour le widget d'historique ebus. Maximum 4 points de données doivent être utilisés, plus peuvent être utilisés.", "it": "elenco separato da virgole di punti dati per il widget della cronologia ebus. È necessario utilizzare un massimo di 4 punti dati, altri possono essere utilizzati.", "es": "lista de puntos de datos separados por comas para el widget de historial ebus. Se deben usar un máximo de 4 puntos de datos, se pueden usar más.", "pl": "rozdzielana przecinkami lista punktów danych dla widgetu historii ebus. Należy użyć maksymalnie 4 punktów danych, więcej można wykorzystać.", "zh-cn": "逗号分隔的ebus历史记录小部件的数据点列表。"},
6
- "ListOfAllPolledValues": { "en": "comma separated list of polled datapoints", "de": "Komma-getrennte Liste von abgefragten Datenpunkten", "ru": "разделенный запятыми список опрошенных точек данных", "pt": "lista separada por vírgulas de pontos de dados polidos", "nl": "door komma's gescheiden lijst van polled datapunten", "fr": "liste séparée par des virgules des points de données interrogés", "it": "elenco separato da virgole di punti di dati sottoposti a polling", "es": "lista separada por comas de puntos de datos sondeados", "pl": "rozdzielana przecinkami lista odpytanych punktów danych", "zh-cn": "逗号分隔的轮询数据点列表"},
5
+ "addParameter": { "en": "additional parameter", "de": "zusätzliche Parameter", "ru": "дополнительный параметр", "pt": "parâmetro adicional", "nl": "extra parameter", "fr": "paramètre supplémentaire", "it": "parametro aggiuntivo", "es": "parámetro adicional", "pl": "dodatkowy parametr", "zh-cn": "附加参数"},
6
+ "circuit": { "en": "circuit", "de": "Schaltkreis", "ru": "схема", "pt": "o circuito", "nl": "stroomkring", "fr": "circuit", "it": "circuito", "es": "circuito", "pl": "okrążenie", "zh-cn": "电路"},
7
7
  "ebus_adapter_settings": { "en": "ebus adapter settings", "de": "ebus Adaptereinstellungen", "ru": "настройки адаптера ebus", "pt": "Configurações do adaptador ebus", "nl": "ebus-adapterinstellingen", "fr": "Paramètres de l'adaptateur ebus", "it": "impostazioni dell'adattatore ebus", "es": "configuración del adaptador ebus", "pl": "ustawienia adaptera ebus", "zh-cn": "ebus适配器设置"},
8
- "hint_arduino": { "en": "for arduino interface you need arduino, ethernet shield, ebus adapter and our arduino software. Details see URL to do", "de": "für das Arduino Interface benötigen sie einen Arduino, Ethernet Shield, ebus Adapter und unsere Arduino Software. Details siehe: URL to do", "ru": "для интерфейса arduino вам нужны arduino, ethernet-экран, адаптер ebus и наше программное обеспечение arduino. Подробности см .:URL to do", "pt": "Para a interface arduino você precisa de arduino, ethernet shield, adaptador ebus e nosso software arduino. Detalhes:URL to do", "nl": "voor arduino-interface heeft u arduino, ethernet shield, ebus-adapter en onze arduino-software nodig. Details zien:URL to do", "fr": "Pour l'interface arduino, vous avez besoin d'arduino, d'un shield ethernet, d'un adaptateur ebus et de notre logiciel arduino. Détails voir:URL to do", "it": "per l'interfaccia arduino hai bisogno di arduino, schermo ethernet, adattatore ebus e il nostro software arduino. Dettagli vedi:URL to do", "es": "para la interfaz arduino necesitas arduino, escudo ethernet, adaptador ebus y nuestro software arduino. Los detalles ven:URL to do", "pl": "do interfejsu arduino potrzebujesz arduino, ekran ethernetowy, adapter ebus i nasze oprogramowanie arduino. Szczegóły patrz:URL to do", "zh-cn": "对于arduino接口,您需要arduino,以太网屏蔽,ebus适配器和我们的arduino软件。"},
9
- "hint_ebusd": { "en": "for ebusd interface you need a running ebusd incl. all necessary configurations. This adapter uses HTML to read data from ebusd and TCP to write to ebusd", "de": "Für ebusd interface benötigen Sie einen running ebusd incl. alle notwendigen Konfigurationen. Dieser Adapter verwendet HTML, um Daten von ebusd und TCP zu lesen, um auf ebusd zu schreiben", "ru": "для интерфейса ebusd вам необходимо запустить ebusd, вкл. все необходимые конфигурации. Этот адаптер использует HTML для чтения данных из ebusd и TCP для записи в ebusd", "pt": "Para a interface ebusd, você precisa de um ebusd executado. todas as configurações necessárias. Este adaptador usa HTML para ler dados de ebusd e TCP para escrever em ebusd", "nl": "voor ebusd-interface heeft u een lopende ebusd nodig. alle noodzakelijke configuraties. Deze adapter gebruikt HTML om gegevens van ebusd en TCP te lezen om naar ebusd te schrijven", "fr": "Pour l'interface ebusd, vous avez besoin d'un ebusd en cours d'exécution. toutes les configurations nécessaires. Cet adaptateur utilise le HTML pour lire les données d'ebusd et TCP pour écrire sur ebusd", "it": "per l'interfaccia ebusd hai bisogno di un ebusd in esecuzione incl. tutte le configurazioni necessarie Questo adattatore utilizza l'HTML per leggere i dati da ebusd e TCP per scrivere su ebusd", "es": "para la interfaz ebusd necesita un ebusd eb todas las configuraciones necesarias. Este adaptador usa HTML para leer datos de ebusd y TCP para escribir en ebusd", "pl": "do interfejsu ebusd potrzebny jest działający ebusd w tym. wszystkie niezbędne konfiguracje. Ten adapter używa HTML do odczytu danych z ebusd i TCP w celu zapisania do ebusd", "zh-cn": "对于ebusd接口,您需要一个正在运行的ebusd incl。"},
10
- "hint_ebusd_history": { "en": "comma seperated list of all datapoint names which should be used with ebus history widget.If datapoint is in the list then it appears in json - data with timestamp and value and can be used in ebus history widget", "de": "Komma getrennte Liste aller Datenpunktnamen, die mit ebus history widget verwendet werden sollen. Wenn sich der Datenpunkt in der Liste befindet, wird er in json-data mit Zeitstempel und Wert angezeigt und kann in ebus history widget verwendet werden", "ru": "разделенный запятыми список всех имен данных, которые должны использоваться с виджетами истории ebus. Если datapoint находится в списке, то он появляется в json-данных с меткой времени и значением и может использоваться в виджетах истории ebus", "pt": "lista separada por vírgulas de todos os nomes de pontos de dados que devem ser usados ​​com o widget de histórico do ebus. Se o ponto de dados estiver na lista, ele aparecerá em json-data com timestamp e valor e pode ser usado no widget de histórico do ebus", "nl": "een door komma's gescheiden lijst van alle datapuntnamen die met de ebus-geschiedeniswidget moeten worden gebruikt. Als datapunt in de lijst staat, verschijnt het in json-data met tijdstempel en waarde en kan het worden gebruikt in de ebus-geschiedeniswidget", "fr": "liste séparée par des virgules de tous les noms de point de données qui doivent être utilisés avec le widget d'historique ebus. Si le point de donnée est dans la liste, il apparaît dans json-data avec horodatage et valeur et peut être utilisé dans le widget de l'historique ebus", "it": "elenco separato da virgola di tutti i nomi dei punti dati che dovrebbero essere utilizzati con il widget della cronologia ebus. Se il datapoint è presente nell'elenco, viene visualizzato in json-data con data / ora e valore e può essere utilizzato nel widget della cronologia ebus", "es": "una lista separada por comas de todos los nombres de punto de datos que se deben usar con el widget de historial de ebus. Si el punto de datos está en la lista, aparece en json-data con indicación de fecha y hora y valor y se puede usar en el widget de historia ebus.", "pl": "rozdzielana przecinkami lista wszystkich nazw punktów danych, które powinny być używane z widżetem historii ebus. Jeśli data jest na liście, pojawia się w json-data ze znacznikiem czasowym i wartością i może być użyta w widżecie historii ebus", "zh-cn": "逗号分隔的所有数据点名称列表,该数据点名称应与ebus历史记录小部件一起使用。如果数据点在列表中,则它将出现在json-具有时间戳和值的数据中,并且可以在ebus历史记录小部件中使用"},
11
- "hint_ebusd_polled": { "en": "comma seperated list of all datapoint names which should be polled from adapter. Do not add datapoint which are already polled from ebusd. This list should include onle those which are not updated from ebusd itself", "de": "Komma getrennte Liste aller Datenpunktnamen, die vom Adapter abgefragt werden sollen. Fügen Sie keine Datenpunkte hinzu, die bereits von ebusd abgefragt wurden. Diese Liste sollte diejenigen enthalten, die nicht von ebusd selbst aktualisiert wurden", "ru": "разделенный запятыми список всех имен данных, которые должны быть опрошены из адаптера. Не добавляйте datapoint, которые уже опрошены с ebusd. Этот список должен включать только те, которые не обновляются с самого ebusd", "pt": "lista separada por vírgulas de todos os nomes de pontos de dados que devem ser consultados a partir do adaptador. Não adicione o datapoint que já foi consultado pelo ebusd. Esta lista deve incluir onle aqueles que não são atualizados da própria ebusd", "nl": "een door komma's gescheiden lijst met alle datapuntnamen die uit de adapter moeten worden gepolld. Voeg geen datapunten toe die al gepold zijn vanuit ebusd. Deze lijst moet alleen die bevatten die niet zijn bijgewerkt vanuit ebusd zelf", "fr": "liste séparée par des virgules de tous les noms de point de données qui doivent être interrogés à partir de l'adaptateur. N'ajoutez pas de point de données déjà interrogé depuis ebusd. Cette liste devrait inclure ceux qui ne sont pas mis à jour depuis ebusd lui-même", "it": "elenco separato da virgole di tutti i nomi dei punti dati che devono essere interrogati dall'adattatore. Non aggiungere datapoint che sono già stati interrogati da ebusd. Questo elenco dovrebbe includere quelli che non sono aggiornati da ebusd stesso", "es": "una lista separada por comas de todos los nombres de punto de datos que deben sondearse desde el adaptador. No agregue puntos de datos que ya están sondeados desde ebusd. Esta lista debe incluir onle aquellos que no se actualizan desde ebusd", "pl": "rozdzielana przecinkami lista wszystkich nazw punktów danych, które powinny być pobierane z adaptera. Nie dodawaj punktów danych, które są już odpytywane z ebusd. Ta lista powinna zawierać te, które nie są aktualizowane od samego ebusd", "zh-cn": "逗号分隔的所有数据点名称列表,应从适配器中轮询。"},
12
- "interface_type": { "en": "type of interface", "de": "Art der Schnittstelle", "ru": "тип интерфейса", "pt": "tipo de interface", "nl": "type interface", "fr": "type d'interface", "it": "tipo di interfaccia", "es": "tipo de interfaz", "pl": "typ interfejsu", "zh-cn": "接口类型"},
8
+ "hint_ebusd": { "en": "you need an running ebusd inclusive all necessary configurations. This adapter uses HTML to read data from ebusd. It uses TCP (Telnet) to write to ebusd.", "de": "Für ebusd interface benötigen Sie einen running ebusd incl. alle notwendigen Konfigurationen. Dieser Adapter verwendet HTML, um Daten von ebusd und TCP zu lesen, um auf ebusd zu schreiben", "ru": "для интерфейса ebusd вам необходимо запустить ebusd, вкл. все необходимые конфигурации. Этот адаптер использует HTML для чтения данных из ebusd и TCP для записи в ebusd", "pt": "Para a interface ebusd, você precisa de um ebusd executado. todas as configurações necessárias. Este adaptador usa HTML para ler dados de ebusd e TCP para escrever em ebusd", "nl": "voor ebusd-interface heeft u een lopende ebusd nodig. alle noodzakelijke configuraties. Deze adapter gebruikt HTML om gegevens van ebusd en TCP te lezen om naar ebusd te schrijven", "fr": "Pour l'interface ebusd, vous avez besoin d'un ebusd en cours d'exécution. toutes les configurations nécessaires. Cet adaptateur utilise le HTML pour lire les données d'ebusd et TCP pour écrire sur ebusd", "it": "per l'interfaccia ebusd hai bisogno di un ebusd in esecuzione incl. tutte le configurazioni necessarie Questo adattatore utilizza l'HTML per leggere i dati da ebusd e TCP per scrivere su ebusd", "es": "para la interfaz ebusd necesita un ebusd eb todas las configuraciones necesarias. Este adaptador usa HTML para leer datos de ebusd y TCP para escribir en ebusd", "pl": "do interfejsu ebusd potrzebny jest działający ebusd w tym. wszystkie niezbędne konfiguracje. Ten adapter używa HTML do odczytu danych z ebusd i TCP w celu zapisania do ebusd", "zh-cn": "对于ebusd接口,您需要一个正在运行的ebusd incl。"},
9
+ "hint_ebusd_history": { "en": "list of all datapoint names which should be used with ebus history widget. ", "de": "Liste aller Datenpunktnamen, die mit dem ebus-History-Widget verwendet werden sollen.", "ru": "список всех имен точек данных, которые следует использовать с виджетом истории ebus.", "pt": "lista de todos os nomes de pontos de dados que devem ser usados ​​com o widget de histórico do ebus.", "nl": "lijst met alle datapuntnamen die moeten worden gebruikt met de ebus-geschiedeniswidget.", "fr": "liste de tous les noms de points de données qui doivent être utilisés avec le widget historique ebus.", "it": "elenco di tutti i nomi dei punti dati che dovrebbero essere utilizzati con il widget cronologia ebus.", "es": "lista de todos los nombres de puntos de datos que deben usarse con el widget de historial de ebus.", "pl": "lista wszystkich nazw punktów danych, które powinny być używane z widżetem historii ebus.", "zh-cn": "应与 ebus 历史小部件一起使用的所有数据点名称的列表。"},
10
+ "hint_ebusd_polled": { "en": "list of all datapoint names which should be polled from adapter. Do not add datapoints which are already polled from ebusd. Circuit and additional parameter are optionally.", "de": "Liste aller Datenpunktnamen, die vom Adapter abgefragt werden sollen. ", "ru": "список всех имен точек данных, которые должны быть опрошены от адаптера. ", "pt": "lista de todos os nomes de pontos de dados que devem ser pesquisados ​​no adaptador. ", "nl": "lijst met alle datapuntnamen die van de adapter moeten worden opgevraagd. ", "fr": "liste de tous les noms de points de données qui doivent être interrogés à partir de l'adaptateur. ", "it": "elenco di tutti i nomi dei punti dati che devono essere interrogati dall'adattatore. ", "es": "lista de todos los nombres de puntos de datos que deben consultarse desde el adaptador. ", "pl": "lista wszystkich nazw punktów danych, które powinny być odpytywane z adaptera. ", "zh-cn": "应从适配器轮询的所有数据点名称的列表。"},
11
+ "historyDP": { "en": "history datapoints", "de": "Verlaufsdatenpunkte", "ru": "исторические данные", "pt": "pontos de dados de história", "nl": "geschiedenis datapunten", "fr": "points de données d'historique", "it": "punti dati della cronologia", "es": "puntos de datos históricos", "pl": "punkty danych historii", "zh-cn": "历史数据点"},
12
+ "name": { "en": "name", "de": "Name", "ru": "имя", "pt": "nome", "nl": "naam", "fr": "Nom", "it": "nome", "es": "nombre", "pl": "Nazwa", "zh-cn": "姓名"},
13
13
  "parse_timeout": { "en": "download and poll timeout [seconds]", "de": "Download und Abfrage-Timeout [Sekunden]", "ru": "время ожидания загрузки и опроса [секунд]", "pt": "tempo de download e poll timeout [segundos]", "nl": "downloaden en poll time-out [seconden]", "fr": "délai de téléchargement et d'interrogation [secondes]", "it": "download e polling timeout [secondi]", "es": "tiempo de espera de descarga y encuesta [segundos]", "pl": "czas pobierania i odpytywania [sekundy]", "zh-cn": "下载和轮询超时[秒]"},
14
+ "polledDP": { "en": "polled datapoints", "de": "abgefragte Datenpunkte", "ru": "опрошенные точки данных", "pt": "pontos de dados sondados", "nl": "opgevraagde datapunten", "fr": "points de données interrogés", "it": "punti dati interrogati", "es": "puntos de datos sondeados", "pl": "odpytywane punkty danych", "zh-cn": "轮询数据点"},
14
15
  "target_HTTPPort": { "en": "target HTTP Port to read data", "de": "target HTTP Port zum Lesen von Daten", "ru": "целевой HTTP-порт для чтения данных", "pt": "porta HTTP de destino para ler dados", "nl": "doel HTTP-poort om gegevens te lezen", "fr": "Port HTTP cible pour lire les données", "it": "Porta HTTP di destinazione per leggere i dati", "es": "target HTTP Port para leer datos", "pl": "docelowy port HTTP do odczytu danych", "zh-cn": "目标HTTP端口以读取数据"},
15
16
  "target_IP": { "en": "target IP", "de": "Ziel-IP", "ru": "целевой IP-адрес", "pt": "IP alvo", "nl": "doel-IP", "fr": "cible IP", "it": "IP di destinazione", "es": "IP objetivo", "pl": "docelowy adres IP", "zh-cn": "目标IP"},
16
17
  "target_TelnetPort": { "en": "target telnet Port to write data", "de": "target telnet Port zum Schreiben von Daten", "ru": "целевой порт telnet для записи данных", "pt": "destino telnet porta para escrever dados", "nl": "doel telnet-poort om gegevens te schrijven", "fr": "Port telnet cible pour écrire des données", "it": "Porta telnet target per scrivere dati", "es": "target telnet Port para escribir datos", "pl": "docelowy port telnet do zapisu danych", "zh-cn": "目标telnet用于写入数据的端口"},
18
+ "useBoolean4Onoff": { "en": "use boolean instead string for datapoints with on/off values ", "de": "Verwenden Sie Boolean anstelle von Strings für Datenpunkte mit Ein-/Aus-Werten", "ru": "используйте логическое значение вместо строки для точек данных со значениями включения / выключения", "pt": "use booleano em vez de string para pontos de dados com valores on / off", "nl": "gebruik in plaats daarvan booleaanse string voor datapunten met aan/uit-waarden", "fr": "utiliser une chaîne booléenne à la place pour les points de données avec des valeurs activées/désactivées", "it": "usa la stringa booleana invece per i punti dati con valori on/off", "es": "use booleano en lugar de cadena para puntos de datos con valores de encendido / apagado", "pl": "użyj wartości logicznej zamiast ciągu dla punktów danych z wartościami włączonymi / wyłączonymi", "zh-cn": "对具有开/关值的数据点使用布尔值代替字符串"},
17
19
  };
package/io-package.json CHANGED
@@ -1,9 +1,33 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "ebus",
4
- "version": "2.2.6",
4
+ "version": "2.4.0",
5
5
  "news": {
6
- "2.2.6": {
6
+ "2.4.0": {
7
+ "en": "overwork handling of read and history datapoints; support of list of commands ",
8
+ "de": "Überarbeitung von Lese- und Verlaufsdatenpunkten; ",
9
+ "ru": "чрезмерная работа с точками чтения и истории; ",
10
+ "pt": "excesso de trabalho no manuseio de pontos de dados de leitura e histórico; ",
11
+ "nl": "overwerk afhandeling van lees- en geschiedenisdatapunten; ",
12
+ "fr": "traitement excessif des points de données de lecture et d'historique ; ",
13
+ "it": "gestione del lavoro eccessivo dei punti dati di lettura e cronologia; ",
14
+ "es": "manejo de exceso de trabajo de los puntos de datos de lectura e historial; ",
15
+ "pl": "przepracowanie obsługi odczytanych i historycznych punktów danych; ",
16
+ "zh-cn": "读取和历史数据点的过度处理;"
17
+ },
18
+ "2.3.1": {
19
+ "en": "support for ebusd 21.2",
20
+ "de": "unterstützung für ebusd 21.2",
21
+ "ru": "поддержка ebusd 21.2",
22
+ "pt": "suporte para ebusd 21.2",
23
+ "nl": "ondersteuning voor ebusd 21.2",
24
+ "fr": "prise en charge d'ebusd 21.2",
25
+ "it": "supporto per ebusd 21.2",
26
+ "es": "soporte para ebusd 21.2",
27
+ "pl": "obsługa ebusd 21,2",
28
+ "zh-cn": "支持 ebusd 21.2"
29
+ },
30
+ "2.2.7": {
7
31
  "en": "bug fix for wrong data type logs",
8
32
  "de": "Bugfix für falsche Datentyp-Logs",
9
33
  "ru": "исправление ошибки для журналов неправильного типа данных",
@@ -142,7 +166,10 @@
142
166
  }
143
167
  ],
144
168
  "connectionType": "local",
145
- "dataSource": "push"
169
+ "dataSource": "push",
170
+ "adminUI": {
171
+ "config": "materialize"
172
+ }
146
173
  },
147
174
  "native": {
148
175
  "targetIP": "192.168.0.1",
@@ -151,6 +178,9 @@
151
178
  "targetTelnetPort": 8890,
152
179
  "PolledValues": "",
153
180
  "HistoryValues": "",
154
- "parseTimeout": 60
181
+ "parseTimeout": 60,
182
+ "useBoolean4Onoff": false,
183
+ "PolledDPs": [],
184
+ "HistoryDPs": []
155
185
  }
156
186
  }