node-red-contrib-esphome 0.2.3 → 0.2.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 CHANGED
@@ -21,6 +21,9 @@ Node-RED nodes to ESPhome devices
21
21
 
22
22
  ## Changelog
23
23
 
24
+ #### 0.2.5
25
+ - change status algorithm [issues/30](https://github.com/twocolors/node-red-contrib-esphome/issues/30)
26
+ - support Reconnect interval (Default: 15 sec) [issues/29](https://github.com/twocolors/node-red-contrib-esphome/issues/29)
24
27
  #### 0.2.3
25
28
  - support Text
26
29
  #### 0.2.1
@@ -29,11 +32,6 @@ Node-RED nodes to ESPhome devices
29
32
  - support MediaPlayer
30
33
  - support BLE Advertisements (thx @richardhopton)
31
34
  - support Encryption Key (thx @richardhopton)
32
- #### 0.1.1
33
- - fix logs
34
- #### 0.1.0
35
- - support logs in node
36
- - allow empty password
37
35
 
38
36
  ## Installation
39
37
 
@@ -43,7 +41,29 @@ $ npm i node-red-contrib-esphome
43
41
 
44
42
  ## Inputs
45
43
 
44
+ Inputs are sent to the node as JSON payloads. The list below provides a list of keys and values (and their expected value type) that may be sent to the "esphome out" nodes. It is helpful to watch the "esphome in" messages to learn which type and range of commands are expected by your device.
45
+
46
+ Some example message payloads are:
47
+
48
+ ```js
49
+ // to set a light on:
50
+ msg.payload = {'state': true}
51
+
52
+ // set a door lock to unlock:
53
+ msg.payload = {'command':0}
54
+
55
+ // to toggle a light to 42% brightness:
56
+ msg.payload = {'brightness': 42}
57
+
58
+ // to press a button:
59
+ msg.payload = true
60
+ ```
61
+
62
+
46
63
  #### Button
64
+
65
+ Button inputs may be triggered with any payload in the input message. Simply send a timestamp, `true`, or other payload to the button node. Button type nodes provide no messages into Node-RED.
66
+
47
67
  #### Climate
48
68
  - `mode` - optional. 0 - OFF, 1 - AUTO, 2 - COOL, 3 - HEAT, 4 - FAN_ONLY, 5 - DRY. See `supportedModesList` attr in config
49
69
  - `targetTemperature`- optional. float
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/nodes/api.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,8DAA8D;AAC9D,MAAM,EAAC,SAAS,EAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,CAAC,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE;IAChC,MAAM,SAAS,GAAG,WAAW,CAAC;IAE9B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,GAAG,WAAW,EAAE,CAAO,GAAoB,EAAE,GAAqB,EAAE,EAAE;QAChG,SAAS,EAAE;aACR,IAAI,CAAC,CAAC,OAAsB,EAAE,EAAE;YAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAClB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;IAEH,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,CAAO,GAAoB,EAAE,GAAqB,EAAE,EAAE;QAC/F,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAQ,CAAC;QAEjE,IAAI,UAAU,EAAE;YACd,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC/B;aAAM;YACL,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACd;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/nodes/api.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,8DAA8D;AAC9D,MAAM,EAAC,SAAS,EAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,CAAC,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE;IAChC,MAAM,SAAS,GAAG,WAAW,CAAC;IAE9B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,GAAG,WAAW,EAAE,CAAO,GAAoB,EAAE,GAAqB,EAAE,EAAE;QAChG,SAAS,EAAE;aACR,IAAI,CAAC,CAAC,OAAsB,EAAE,EAAE;YAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAClB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;IAEH,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,CAAO,GAAoB,EAAE,GAAqB,EAAE,EAAE;QAC/F,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAQ,CAAC;QAEjE,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -5,6 +5,7 @@
5
5
  name: {},
6
6
  host: {value: ''},
7
7
  port: {value: 6053, validate: RED.validators.number()},
8
+ reconnect: {value: 15, validate: RED.validators.number()},
8
9
  loglevel: {value: '0'},
9
10
  logdump: {value: false},
10
11
  ble: {value: false}
@@ -55,11 +56,13 @@
55
56
  $('#node-config-input-host').replaceWith(
56
57
  `<select id="node-config-input-host" style="width: 100%;"></select>`
57
58
  );
58
- data.sort((a, b) => (a.host > b.host ? 1 : -1)).map(function (d) {
59
- $('#node-config-input-host').append(
60
- `<option value="${d.address}" data-host="${d.address}" data-port="${d.port}" data-fqdn="${d.host}">${d.host} (${d.board})</option>`
61
- );
62
- });
59
+ data
60
+ .sort((a, b) => (a.host > b.host ? 1 : -1))
61
+ .map(function (d) {
62
+ $('#node-config-input-host').append(
63
+ `<option value="${d.address}" data-host="${d.address}" data-port="${d.port}" data-fqdn="${d.host}">${d.host} (${d.board})</option>`
64
+ );
65
+ });
63
66
 
64
67
  $('#node-config-input-host').on('change', changeHost);
65
68
  if (!$val || data.length === 1) {
@@ -137,6 +140,11 @@
137
140
  <input type="password" id="node-config-input-password" placeholder="Deprecated" />
138
141
  </div>
139
142
 
143
+ <div class="form-row">
144
+ <label for="node-config-input-reconnect"><i class="fa fa-refresh"></i> Reconnect</label>
145
+ <input type="text" id="node-config-input-reconnect" placeholder="15 sec" />
146
+ </div>
147
+
140
148
  <div class="form-row">
141
149
  <label for="node-config-input-loglevel"><i class="fa fa-file-o"></i> Log Level</label>
142
150
  <select id="node-config-input-loglevel" style="width: 70%;">
@@ -154,14 +162,24 @@
154
162
  <div class="form-row">
155
163
  <label for="node-config-input-logdump"> </label>
156
164
  <label for="node-config-input-logdump" style="width:70%">
157
- <input type="checkbox" id="node-config-input-logdump" style="display:inline-block; width:22px; vertical-align:top;" autocomplete="off"><span>dump config</span>
165
+ <input
166
+ type="checkbox"
167
+ id="node-config-input-logdump"
168
+ style="display:inline-block; width:22px; vertical-align:top;"
169
+ autocomplete="off"
170
+ /><span>dump config</span>
158
171
  </label>
159
172
  </div>
160
173
 
161
174
  <div class="form-row">
162
175
  <label for="node-config-input-ble"><i class="fa fa-bluetooth"></i> <span>BLE</span></label>
163
176
  <label for="node-config-input-ble" style="width:70%">
164
- <input type="checkbox" id="node-config-input-ble" style="display:inline-block; width:22px; vertical-align:top;" autocomplete="off"><span>Advertisements</span>
177
+ <input
178
+ type="checkbox"
179
+ id="node-config-input-ble"
180
+ style="display:inline-block; width:22px; vertical-align:top;"
181
+ autocomplete="off"
182
+ /><span>Advertisements</span>
165
183
  </label>
166
184
  </div>
167
185
 
@@ -182,6 +200,8 @@
182
200
  <dd>encryption key for API</dd>
183
201
  <dt class="required">Password<span class="property-type">password</span></dt>
184
202
  <dd>password for API</dd>
203
+ <dt class="required">Reconnect<span class="property-type">number</span></dt>
204
+ <dd>Reconnect interval in seconds (Default: 15)</dd>
185
205
  <dt class="required">Log Level<span class="property-type">number</span></dt>
186
206
  <dd>possible log levels</dd>
187
207
  <dt class="required">Dump Config<span class="property-type">true|false</span></dt>
@@ -34,12 +34,12 @@ module.exports = (RED) => {
34
34
  let options = {
35
35
  host: config.host,
36
36
  port: config.port,
37
- clientInfo: Package.name + ' ' + Package.version,
37
+ clientInfo: `${Package.name} ${Package.version}`,
38
38
  initializeDeviceInfo: true,
39
39
  initializeListEntities: true,
40
40
  initializeSubscribeStates: true,
41
41
  reconnect: true,
42
- reconnectInterval: 15 * 1000,
42
+ reconnectInterval: ((config === null || config === void 0 ? void 0 : config.reconnect) || 15) * 1000,
43
43
  pingInterval: 15 * 1000,
44
44
  initializeSubscribeBLEAdvertisements: self.ble
45
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/nodes/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/nodes/device.ts"],"names":[],"mappings":"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"}
package/build/nodes/in.js CHANGED
@@ -8,6 +8,8 @@ module.exports = (RED) => {
8
8
  const self = this;
9
9
  self.config = config;
10
10
  RED.nodes.createNode(this, config);
11
+ // system
12
+ self.text_status = undefined;
11
13
  try {
12
14
  self.deviceNode = RED.nodes.getNode(config.device);
13
15
  }
@@ -21,7 +23,9 @@ module.exports = (RED) => {
21
23
  const current_status = self.deviceNode.current_status;
22
24
  setTimeout(() => {
23
25
  if (current_status) {
24
- self.status(utils_1.Status[current_status]);
26
+ if (current_status != 'connected' || self.text_status == 'connected') {
27
+ self.status(utils_1.Status[current_status]);
28
+ }
25
29
  }
26
30
  else {
27
31
  self.status({});
@@ -40,10 +44,13 @@ module.exports = (RED) => {
40
44
  return;
41
45
  }
42
46
  delete payload.key;
43
- let text = typeof payload.state !== 'undefined' && typeof payload.state !== 'object' ? payload.state : (0, util_1.inspect)(payload);
47
+ let text = typeof payload.state !== 'undefined' && typeof payload.state !== 'object'
48
+ ? String(payload.state)
49
+ : (0, util_1.inspect)(payload);
44
50
  if (text && text.length > 32) {
45
- text = text.substr(0, 32) + '...';
51
+ text = `${text.substring(0, 32)}...`;
46
52
  }
53
+ self.text_status = text;
47
54
  setStatus({ fill: 'yellow', shape: 'dot', text: text }, 3000);
48
55
  const entity = self.deviceNode.entities.find((e) => e.key == config.entity);
49
56
  self.send({
@@ -1 +1 @@
1
- {"version":3,"file":"in.js","sourceRoot":"","sources":["../../src/nodes/in.ts"],"names":[],"mappings":";;AACA,wCAAoC;AACpC,+BAA6B;AAE7B,MAAM,CAAC,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE;IAChC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,UAAqB,MAAW;QACnE,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnC,IAAI;YACF,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE;YACV,WAAW;SACZ;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACtC,OAAO;SACR;QAED,MAAM,WAAW,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YACtD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,cAAc,EAAE;oBAClB,IAAI,CAAC,MAAM,CAAC,cAAM,CAAC,cAAwB,CAAC,CAAC,CAAC;iBAC/C;qBAAM;oBACL,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBACjB;YACH,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,MAAW,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,OAAO,EAAE;gBACX,WAAW,CAAC,OAAO,CAAC,CAAC;aACtB;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;YAC7B,MAAM,OAAO,qBAAY,KAAK,CAAC,CAAC;YAEhC,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE;gBAChC,OAAO;aACR;YAED,OAAO,OAAO,CAAC,GAAG,CAAC;YAEnB,IAAI,IAAI,GACN,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;YAC/G,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE;gBAC5B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;aACnC;YACD,SAAS,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,EAAE,IAAI,CAAC,CAAC;YAE5D,MAAM,MAAM,GAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YAEtF,IAAI,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC9B,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,IAAS,EAAE,EAAE;YAC1B,IAAI,OAAO,GAAW,MAAM,CAAC,UAAU,CAAC;YACxC,MAAM,OAAO,qBAAY,IAAI,CAAC,CAAC;YAE/B,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE/C,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE;gBAC9B,OAAO;aACR;YAED,OAAO,OAAO,CAAC,GAAG,CAAC;YAEnB,SAAS,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,IAAI,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YAEtF,IAAI,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC9B,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;YAClC,SAAS,CAAC,cAAM,CAAC,MAAgB,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,KAAK,GAAG,CAAC,IAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,IAAe,EAAE,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"in.js","sourceRoot":"","sources":["../../src/nodes/in.ts"],"names":[],"mappings":"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"}
@@ -59,14 +59,16 @@ module.exports = (RED) => {
59
59
  return;
60
60
  }
61
61
  const payload = msg.payload;
62
- let text = typeof payload.state !== 'undefined' && typeof payload.state !== 'object' ? payload.state : (0, util_1.inspect)(payload);
62
+ let text = typeof payload.state !== 'undefined' && typeof payload.state !== 'object'
63
+ ? String(payload.state)
64
+ : (0, util_1.inspect)(payload);
63
65
  if (text && text.length > 32) {
64
- text = text.substr(0, 32) + '...';
66
+ text = `${text.substring(0, 32)}...`;
65
67
  }
66
- setStatus({ fill: 'yellow', shape: 'dot', text: text }, 3000);
67
68
  try {
68
69
  const command = capitalize(entity.type + 'CommandService');
69
70
  yield self.deviceNode.client.connection[command](Object.assign({ key: config.entity }, payload));
71
+ setStatus({ fill: 'yellow', shape: 'dot', text: text });
70
72
  }
71
73
  catch (e) {
72
74
  setStatus(utils_1.Status['error'], 3000);
@@ -1 +1 @@
1
- {"version":3,"file":"out.js","sourceRoot":"","sources":["../../src/nodes/out.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"out.js","sourceRoot":"","sources":["../../src/nodes/out.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-esphome",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Node-RED nodes to ESPhome devices",
5
5
  "homepage": "https://github.com/twocolors/node-red-contrib-esphome",
6
6
  "license": "MIT",
@@ -29,7 +29,7 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@2colors/esphome-native-api": "^1.2.6"
32
+ "@2colors/esphome-native-api": "1.2.8"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/node": "^20.1.0",
@@ -44,12 +44,12 @@ module.exports = (RED: NodeAPI) => {
44
44
  let options: any = {
45
45
  host: config.host,
46
46
  port: config.port,
47
- clientInfo: Package.name + ' ' + Package.version,
47
+ clientInfo: `${Package.name} ${Package.version}`,
48
48
  initializeDeviceInfo: true,
49
49
  initializeListEntities: true,
50
50
  initializeSubscribeStates: true,
51
51
  reconnect: true,
52
- reconnectInterval: 15 * 1000,
52
+ reconnectInterval: (config?.reconnect || 15) * 1000,
53
53
  pingInterval: 15 * 1000,
54
54
  initializeSubscribeBLEAdvertisements: self.ble
55
55
  };
package/src/nodes/in.ts CHANGED
@@ -10,6 +10,9 @@ module.exports = (RED: NodeAPI) => {
10
10
 
11
11
  RED.nodes.createNode(this, config);
12
12
 
13
+ // system
14
+ self.text_status = undefined;
15
+
13
16
  try {
14
17
  self.deviceNode = RED.nodes.getNode(config.device);
15
18
  } catch (_) {
@@ -21,10 +24,12 @@ module.exports = (RED: NodeAPI) => {
21
24
  }
22
25
 
23
26
  const clearStatus = (timeout = 0) => {
24
- const current_status = self.deviceNode.current_status;
27
+ const current_status: string = self.deviceNode.current_status;
25
28
  setTimeout(() => {
26
29
  if (current_status) {
27
- self.status(Status[current_status as string]);
30
+ if (current_status != 'connected' || self.text_status == 'connected') {
31
+ self.status(Status[current_status]);
32
+ }
28
33
  } else {
29
34
  self.status({});
30
35
  }
@@ -47,11 +52,14 @@ module.exports = (RED: NodeAPI) => {
47
52
 
48
53
  delete payload.key;
49
54
 
50
- let text =
51
- typeof payload.state !== 'undefined' && typeof payload.state !== 'object' ? payload.state : inspect(payload);
55
+ let text: string =
56
+ typeof payload.state !== 'undefined' && typeof payload.state !== 'object'
57
+ ? String(payload.state)
58
+ : inspect(payload);
52
59
  if (text && text.length > 32) {
53
- text = text.substr(0, 32) + '...';
60
+ text = `${text.substring(0, 32)}...`;
54
61
  }
62
+ self.text_status = text;
55
63
  setStatus({fill: 'yellow', shape: 'dot', text: text}, 3000);
56
64
 
57
65
  const entity: any = self.deviceNode.entities.find((e: any) => e.key == config.entity);
package/src/nodes/out.ts CHANGED
@@ -21,7 +21,7 @@ module.exports = (RED: NodeAPI) => {
21
21
  }
22
22
 
23
23
  const clearStatus = (timeout = 0) => {
24
- const current_status = self.deviceNode.current_status;
24
+ const current_status: string = self.deviceNode.current_status;
25
25
  setTimeout(() => {
26
26
  if (current_status) {
27
27
  self.status(Status[current_status as string]);
@@ -57,16 +57,18 @@ module.exports = (RED: NodeAPI) => {
57
57
  }
58
58
 
59
59
  const payload: any = msg.payload;
60
- let text =
61
- typeof payload.state !== 'undefined' && typeof payload.state !== 'object' ? payload.state : inspect(payload);
60
+ let text: string =
61
+ typeof payload.state !== 'undefined' && typeof payload.state !== 'object'
62
+ ? String(payload.state)
63
+ : inspect(payload);
62
64
  if (text && text.length > 32) {
63
- text = text.substr(0, 32) + '...';
65
+ text = `${text.substring(0, 32)}...`;
64
66
  }
65
- setStatus({fill: 'yellow', shape: 'dot', text: text}, 3000);
66
67
 
67
68
  try {
68
69
  const command = capitalize(entity.type + 'CommandService');
69
70
  await self.deviceNode.client.connection[command]({key: config.entity, ...payload});
71
+ setStatus({fill: 'yellow', shape: 'dot', text: text});
70
72
  } catch (e: any) {
71
73
  setStatus(Status['error'], 3000);
72
74
  self.error(e.message);