iobroker.ebus 3.8.0 → 4.0.2

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.
@@ -1,426 +1,30 @@
1
- <html>
2
-
3
- <head>
4
- <!-- Load ioBroker scripts and styles-->
5
- <link rel="stylesheet" type="text/css" href="../../lib/css/fancytree/ui.fancytree.min.css" />
6
- <link rel="stylesheet" type="text/css" href="../../css/adapter.css" />
7
- <link rel="stylesheet" type="text/css" href="../../lib/css/materialize.css">
8
-
9
- <script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script>
10
- <script type="text/javascript" src="../../socket.io/socket.io.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>
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" />
22
- <script type="text/javascript" src="words.js"></script>
23
-
24
-
25
- <style>
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;
34
- }
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;
52
- }
53
- </style>
54
-
55
-
56
- <!-- you have to define 2 functions in the global scope: -->
57
- <script type="text/javascript">
58
-
59
-
60
- //var timeout2;
61
- function findParams(circuit, onChange, instance) {
62
- //timeout2 = setTimeout(function () {
63
- // getUUID(onChange, instance);
64
- //}, 4000);
65
-
66
- //function sendTo(_adapter_instance, command, message, callback)
67
-
68
- console.log("findParams called with " + circuit);
69
-
70
- sendTo(instance, 'findParams', circuit, function (list) {
71
- //if (timeout2) {
72
- // clearTimeout(timeout2);
73
- // timeout2 = null;
74
- //}
75
-
76
- console.log('got params ' + JSON.stringify(list));
77
-
78
- let polledVars = table2values('polledDP');
79
-
80
- //console.log('current list ' + JSON.stringify(polledVars));
81
-
82
- for (let i = 0; i < list.length; i++) {
83
-
84
- //console.log('add ' + JSON.stringify(list[i]));
85
-
86
- let entry = {
87
- active: list[i].active,
88
- circuit: list[i].circuit,
89
- name: list[i].name,
90
- parameter: ""
91
- }
92
- polledVars.push(entry);
93
- }
94
-
95
- //console.log('new list ' + JSON.stringify(polledVars));
96
-
97
- values2table('polledDP', polledVars, OnChange, tablePolledDPOnReady);
98
-
99
- showHideSettings();
100
- onChange(true);
101
- M.updateTextFields();
102
-
103
- });
104
- }
105
-
106
-
107
- // the function loadSettings has to exist ...
108
- function load(settings, onChange) {
109
-
110
- if (!settings) return;
111
-
112
- // example: select elements with id=key and class=value and insert value
113
- for (var key in settings) {
114
- // example: select elements with id=key and class=value and insert value
115
- if ($('#' + key + '.value').attr('type') == 'checkbox') {
116
- $('#' + key + '.value').prop('checked', settings[key]).change(function () {
117
- onChange();
118
- });
119
- } else {
120
- $('#' + key + '.value').val(settings[key]).change(function () {
121
- onChange();
122
- }).keyup(function () {
123
- $(this).trigger('change');
124
- });
125
- }
126
- }
127
-
128
- myOnChange = onChange;
129
- // Signal to admin, that no changes yet
130
- onChange(false);
131
-
132
- M.updateTextFields();
133
-
134
- FillTablePolledDP(settings);
135
- FillTableHistoryDP(settings);
136
-
137
- var _id = 'ebus.' + instance;
138
-
139
- $("#findParams").click(function () {
140
- let circuit= $("#Circuit4Find").val();
141
- findParams(circuit, onChange, _id);
142
- });
143
-
144
- }
145
-
146
- function FillTablePolledDP(settings) {
147
-
148
- if (typeof settings.PolledDPs !== 'undefined' && settings.PolledDPs != null && settings.PolledDPs.length > 0) {
149
-
150
- values2table('polledDP', settings.PolledDPs, OnChange, tablePolledDPOnReady);
151
- console.log('using new PolledDPs from settings ' + JSON.stringify(settings.PolledDPs));
152
- }
153
- // make it compatible to older versions
154
- else if (typeof settings.PolledValues !== 'undefined' && settings.PolledValues != null) {
155
-
156
- var values = settings.PolledValues.split(",");
157
-
158
- var newValues = [];
159
- for (let i = 0; i < values.length; i++) {
160
- if (values[i].length > 0) {
161
- console.log('add ' + values[i]);
162
- const value = {
163
- circuit: "",
164
- name: values[i],
165
- parameter: "",
166
- }
167
- newValues.push(value);
168
- }
169
- }
170
- values2table('polledDP', newValues, OnChange, tablePolledDPOnReady);
171
- console.log('using PolledValues from old settings ' + JSON.stringify(settings.PolledValues) + " " + JSON.stringify(newValues));
172
-
173
- }
174
-
175
- }
176
-
177
- function tablePolledDPOnReady() {
178
-
179
- showHideSettings();
180
- }
181
-
182
- var myOnChange = null;
183
- function OnChange() {
184
- //do nothing
185
- console.log('on change called');
186
-
187
- if (myOnChange != null) {
188
- myOnChange();
189
- }
190
- }
191
-
192
- function showHideSettings() {
193
-
194
- }
195
-
196
- function FillTableHistoryDP(settings) {
197
-
198
- if (typeof settings.HistoryDPs !== 'undefined' && settings.HistoryDPs != null && settings.HistoryDPs.length > 0) {
199
-
200
- values2table('historyDP', settings.HistoryDPs, OnChange, tableHistoryDPOnReady);
201
- console.log('using new HistoryDPs from settings ' + JSON.stringify(settings.HistoryDPs));
202
- }
203
- // make it compatible to older versions
204
- else if (typeof settings.HistoryValues !== 'undefined' && settings.HistoryValues != null) {
205
-
206
- var values = settings.HistoryValues.split(",");
207
-
208
- var newValues = [];
209
- for (let i = 0; i < values.length; i++) {
210
- if (values[i].length > 0) {
211
- console.log('add ' + values[i]);
212
- const value = {
213
- name: values[i],
214
- }
215
- newValues.push(value);
216
- }
217
- }
218
- values2table('historyDP', newValues, OnChange, tableHistoryDPOnReady);
219
- console.log('using HistoryValues from old settings ' + JSON.stringify(settings.HistoryValues) + " " + JSON.stringify(newValues));
220
-
221
- }
222
- }
223
-
224
- function tableHistoryDPOnReady() {
225
-
226
- }
227
-
228
- // ... and the function save has to exist.
229
- // you have to make sure the callback is called with the settings object as first param!
230
- function save(callback) {
231
- // example: select elements with class=value and build settings object
232
- var obj = {};
233
- $('.value').each(function () {
234
- var $this = $(this);
235
-
236
- var id = $this.attr('id');
237
-
238
- if ($this.attr('type') === 'checkbox') {
239
- obj[$this.attr('id')] = $this.prop('checked');
240
- } else {
241
- obj[$this.attr('id')] = $this.val();
242
- }
243
- });
244
-
245
- obj.PolledDPs = table2values('polledDP');
246
- console.log('saving polledDP ' + JSON.stringify(obj.PolledDPs));
247
-
248
- obj.HistoryDPs = table2values('historyDP');
249
- console.log('saving historyDP ' + JSON.stringify(obj.HistoryDPs));
250
-
251
- obj.PolledValues = "";
252
- obj.HistoryValues = "";
253
-
254
- callback(obj);
255
- }
256
-
257
-
258
-
259
- </script>
260
- </head>
261
- <body>
262
- <!-- you have to put your config page in a div with id adapter-container -->
263
- <div class="m adapter-container">
264
- <div class="row">
265
-
266
- <div class="col s12">
267
- <ul class="tabs">
268
- <li class="tab col s2"><a href="#tab-main" class="translate active">Main settings</a></li>
269
- <li class="tab col s2 le-settings"><a href="#tab-ebusd" class="translate">ebusd</a></li>
270
- <li class="tab col s2 le-settings"><a href="#tab-polledDP" class="translate">polledDP</a></li>
271
- <li class="tab col s2 le-settings"><a href="#tab-historyDP" class="translate">historyDP</a></li>
272
- </ul>
273
- </div>
274
-
275
- <!-- main - settings -->
276
-
277
-
278
- <div id="tab-main" class="col s12 page">
279
- <div class="row">
280
- <div class="col s6 m4 l2">
281
- <img src="ebus.png" class="logo">
282
- </div>
283
- </div>
284
-
285
- <div class="row">
286
- <div class="input-field col s12 m8 l5">
287
- <input type="text" id="targetIP" class="value" />
288
- <label for="targetIP" class="translate">target_IP</label>
289
- </div>
290
- </div>
291
-
292
- <div class="row">
293
- <div class="input-field col s6">
294
- <input type="checkbox" id="useBoolean4Onoff" class="value" />
295
- <label for="useBoolean4Onoff" class="translate">useBoolean4Onoff</label>
296
- </div>
297
- </div>
298
-
299
- <div class="row">
300
- <div class="input-field col s6">
301
- <input type="checkbox" id="History4Vis2" class="value" />
302
- <label for="History4Vis2" class="translate">History4Vis2</label>
303
- </div>
304
- </div>
305
-
306
- </div>
307
-
308
- <!-- settings for ebusd -->
309
- <div id="tab-ebusd" class="col s12 page-ebusd">
310
- <div class="row">
311
- <div class="col s6 m4 l2">
312
- <img src="ebus.png" class="logo">
313
- </div>
314
- </div>
315
- <div class="row">
316
- <div class="col s12">
317
- <span class="translate">hint_ebusd</span>
318
- </div>
319
- </div>
320
- <div class="row">
321
- <div class="input-field col s12 m4 l3">
322
- <input class="value number" id="targetHTTPPort" size="5" maxlength="5" type="number" />
323
- <label for="targetHTTPPort" class="translate">target_HTTPPort</label>
324
- </div>
325
-
326
- <div class="input-field col s12 m4 l3">
327
- <input class="value number" id="targetTelnetPort" size="5" maxlength="5" type="number" />
328
- <label for="targetTelnetPort" class="translate">target_TelnetPort</label>
329
- </div>
330
- </div>
331
- <div class="row">
332
- <div class="input-field col s12 m4 l3">
333
- <input class="value number" id="readInterval" size="3" maxlength="3" type="number" />
334
- <label for="readInterval" class="translate">readInterval</label>
335
- </div>
336
- </div>
337
- <div class="row">
338
- <div class="input-field col s12 m4 l3">
339
- <input class="value number" id="parseTimeout" size="3" maxlength="3" type="number" />
340
- <label for="parseTimeout" class="translate">parse_timeout</label>
341
- </div>
342
-
343
- <div class="input-field col s12 m4 l3">
344
- <input class="value number" id="maxretries" size="3" maxlength="3" type="number" min="0" max="10" />
345
- <label for="maxretries" class="translate">maxretries</label>
346
- </div>
347
- </div>
348
-
349
-
350
-
351
- </div>
352
-
353
- <!-- tab "tab-polledDP" -->
354
- <div id="tab-polledDP" class="col s12 page">
355
-
356
- <div class="row">
357
- <div class="col s6">
358
- <span class="translate">hint_ebusd_polled</span>
359
- </div>
360
- </div>
361
-
362
- <div class="col s12" id="polledDP">
363
-
364
- <div class="row">
365
- <div class="input-field col s2 m2 l2">
366
- <button class="btn-floating btn-small waves-effect waves-light" title="findParams" id="findParams">
367
- <i class="material-icons">search</i>
368
- </button>
369
- </div>
370
- <div class="input-field col s4 m4 l4">
371
- <input class="value" id="Circuit4Find" type="text" />
372
- <label for="maxretries" class="translate">Circuit4Find</label>
373
- </div>
374
- </div>
375
- <div class="row">
376
- <a class="btn-floating waves-effect waves-light blue table-button-add"><i class="material-icons">add</i></a>
377
- </div>
378
- <div class="table-values-div">
379
- <table id="table_polledDP" class="table-values" style="width: 100%;">
380
- <thead>
381
- <tr>
382
- <th id="polledDP_col_0" data-type="checkbox" data-name="active" style=" background: #64b5f6 " class="translate">active</th>
383
- <th id="polledDP_col_1" data-type="text" data-name="circuit" style="width: 20%; background: #64b5f6 " class="translate">circuit</th>
384
- <th id="polledDP_col_2" data-type="text" data-name="name" style="background: #64b5f6" class="translate">name</th>
385
- <th id="polledDP_col_3" data-type="text" data-name="parameter" style="background: #64b5f6" class="translate">addParameter</th>
386
- <th data-buttons="up down delete" style="width: 100px; background: #64b5f6"></th>
387
- </tr>
388
- </thead>
389
- </table>
390
- </div>
391
- </div>
392
- </div>
393
-
394
-
395
-
396
- <!-- tab "tab-historyDP" -->
397
- <div id="tab-historyDP" class="col s12 page">
398
-
399
- <div class="row">
400
- <div class="col s6">
401
- <span class="translate">hint_ebusd_history</span>
402
- </div>
403
- </div>
404
-
405
- <div class="col s12" id="historyDP">
406
-
407
- <a class="btn-floating waves-effect waves-light blue table-button-add"><i class="material-icons">add</i></a>
408
-
409
- <div class="table-values-div">
410
- <table id="table_historyDP" class="table-values" style="width: 100%;">
411
- <thead>
412
- <tr>
413
- <th id="historyDP_col_1" data-name="name" style="width: 20%; background: #64b5f6 " class="translate">name</th>
414
- <th data-buttons="add up down delete" style="width: 100px; background: #64b5f6"></th>
415
- </tr>
416
- </thead>
417
- </table>
418
- </div>
419
- </div>
420
- </div>
421
-
422
- </div>
423
- </div>
424
- </body>
425
- </html>
426
-
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link
6
+ rel="shortcut icon"
7
+ href="favicon.ico"
8
+ />
9
+ <meta
10
+ name="viewport"
11
+ content="width=device-width, initial-scale=1, shrink-to-fit=no"
12
+ />
13
+ <meta
14
+ name="theme-color"
15
+ content="#000000"
16
+ />
17
+ <link
18
+ rel="manifest"
19
+ href="manifest.json"
20
+ />
21
+ <script type="text/javascript" onerror="setTimeout(function(){window.location.reload()}, 5000)" src="./lib/js/socket.io.js"></script>
22
+ <title>Modbus</title>
23
+ <script type="module" crossorigin src="./assets/index-D1_jHHDi.js"></script>
24
+ <link rel="stylesheet" crossorigin href="./assets/index-Bd3GtHgn.css">
25
+ </head>
26
+ <body>
27
+ <noscript>You need to enable JavaScript to run this app.</noscript>
28
+ <div id="root"></div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,15 @@
1
+ {
2
+ "short_name": "DasWetter",
3
+ "name": "ioBroker.daswetter",
4
+ "icons": [
5
+ {
6
+ "src": "favicon.ico",
7
+ "sizes": "64x64 32x32 24x24 16x16",
8
+ "type": "image/x-icon"
9
+ }
10
+ ],
11
+ "start_url": ".",
12
+ "display": "standalone",
13
+ "theme_color": "#000000",
14
+ "background_color": "#ffffff"
15
+ }
@@ -1,77 +1,86 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
1
6
  /* eslint-disable prefer-template */
2
- const net = require("net");
3
-
7
+ /* eslint-disable @typescript-eslint/no-use-before-define */
8
+ const net_1 = __importDefault(require("net"));
4
9
  class TelnetClient {
5
-
10
+ socket;
11
+ connected;
6
12
  constructor() {
7
- this.socket = new net.Socket();
13
+ this.socket = new net_1.default.Socket();
8
14
  this.connected = false;
9
-
10
- // Fehlerbehandlung
11
15
  this.socket.on("error", (err) => {
12
16
  console.error("Socket Error:", err);
13
17
  });
14
18
  }
15
-
16
19
  async connect(host, port) {
17
20
  if (this.connected) {
18
21
  return;
19
22
  }
20
23
  await new Promise((resolve, reject) => {
21
- this.socket.connect(port, host, () => {
24
+ const cleanup = () => {
25
+ this.socket.removeListener("connect", onConnect);
26
+ this.socket.removeListener("error", onError);
27
+ };
28
+ const onConnect = () => {
22
29
  this.connected = true;
30
+ cleanup();
23
31
  resolve();
24
- });
25
- this.socket.once("error", reject);
32
+ };
33
+ const onError = (err) => {
34
+ cleanup();
35
+ reject(err);
36
+ };
37
+ this.socket.once("connect", onConnect);
38
+ this.socket.once("error", onError);
39
+ this.socket.connect(port, host);
26
40
  });
27
41
  }
28
-
29
42
  async write(data) {
30
43
  if (!this.connected) {
31
44
  throw new Error("Socket not connected");
32
45
  }
33
-
34
46
  await new Promise((resolve, reject) => {
35
47
  this.socket.write(data, (err) => {
36
48
  if (err) {
37
49
  reject(err);
38
- } else {
50
+ }
51
+ else {
39
52
  resolve();
40
53
  }
41
54
  });
42
55
  });
43
56
  }
44
-
45
57
  async read(timeoutMs = 4000) {
46
58
  if (!this.connected) {
47
59
  throw new Error("Socket not connected");
48
60
  }
49
-
50
61
  return new Promise((resolve, reject) => {
51
- const onData = (data) => {
62
+ const cleanup = () => {
52
63
  clearTimeout(timer);
64
+ this.socket.removeListener("data", onData);
53
65
  this.socket.removeListener("error", onError);
66
+ };
67
+ const onData = (data) => {
68
+ cleanup();
54
69
  resolve(data.toString());
55
70
  };
56
-
57
71
  const onError = (err) => {
58
- clearTimeout(timer);
59
- this.socket.removeListener("data", onData);
72
+ cleanup();
60
73
  reject(err);
61
74
  };
62
-
63
- const timer = setTimeout(() => {
64
- this.socket.removeListener("data", onData);
65
- this.socket.removeListener("error", onError);
75
+ const onTimeout = () => {
76
+ cleanup();
66
77
  reject(new Error("Read timeout"));
67
- }, timeoutMs);
68
-
78
+ };
79
+ const timer = setTimeout(onTimeout, timeoutMs);
69
80
  this.socket.once("data", onData);
70
81
  this.socket.once("error", onError);
71
82
  });
72
83
  }
73
-
74
-
75
84
  async disconnect() {
76
85
  if (!this.connected) {
77
86
  return;
@@ -84,5 +93,5 @@ class TelnetClient {
84
93
  });
85
94
  }
86
95
  }
87
-
88
- module.exports = TelnetClient;
96
+ exports.default = TelnetClient;
97
+ //# sourceMappingURL=TelnetClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelnetClient.js","sourceRoot":"","sources":["../../src/lib/TelnetClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":""}