@corvina/device-client 1.4.9 → 1.5.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.
@@ -7,6 +7,7 @@ import CorvinaDataInterface from "./corvinadatainterface";
7
7
  import { InternalMessageSenderOptions, MessageSenderOptions } from "./messagesender";
8
8
  import { MessageSubscriber } from "./messagesubscriber";
9
9
  import { EventEmitter } from "stream";
10
+ import levelStore from "mqtt-level-store";
10
11
  export { PostCallback } from "./corvinadatainterface";
11
12
  export interface DeviceConfig {
12
13
  activationKey?: string;
@@ -49,6 +50,8 @@ export declare class DeviceService extends EventEmitter {
49
50
  protected _deviceConfig: DeviceConfig;
50
51
  protected axios: LicensesAxiosInstance;
51
52
  protected dataInterface: CorvinaDataInterface;
53
+ protected messageStore: levelStore;
54
+ protected defaultQoS: number;
52
55
  constructor();
53
56
  get status(): DeviceStatus;
54
57
  get deviceConfig(): DeviceConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"device.service.d.ts","sourceRoot":"","sources":["../../src/services/device.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.service.d.ts","sourceRoot":"","sources":["../../src/services/device.service.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ const corvinadatainterface_1 = __importDefault(require("./corvinadatainterface")
42
42
  const logger_service_1 = require("./logger.service");
43
43
  const stream_1 = require("stream");
44
44
  const https = __importStar(require("https"));
45
+ const mqtt_level_store_1 = __importDefault(require("mqtt-level-store"));
45
46
  const x509 = require("x509.js");
46
47
  const ONLY_TEST_CONNECTION = process.env["ONLY_TEST_CONNECTION"] === "true" || false;
47
48
  class DeviceService extends stream_1.EventEmitter {
@@ -67,8 +68,13 @@ class DeviceService extends stream_1.EventEmitter {
67
68
  _deviceConfig;
68
69
  axios;
69
70
  dataInterface;
71
+ messageStore;
72
+ defaultQoS = process.env["MQTT_DEFAULT_QOS"] ? parseInt(process.env["MQTT_DEFAULT_QOS"]) : 0;
70
73
  constructor() {
71
74
  super();
75
+ if (process.env["MQTT_MSG_STORE_PATH"]) {
76
+ this.messageStore = new mqtt_level_store_1.default(process.env["MQTT_MSG_STORE_PATH"]);
77
+ }
72
78
  this._deviceConfig = {};
73
79
  this.dataInterface = new corvinadatainterface_1.default({
74
80
  sendMessage: this.sendMessage.bind(this),
@@ -189,7 +195,10 @@ class DeviceService extends stream_1.EventEmitter {
189
195
  setTimeout(async () => {
190
196
  logger_service_1.l.debug("Going to end mqtt client");
191
197
  await this.mqttClient.end();
192
- setTimeout(async () => await this.mqttClient.reconnect(), 1000);
198
+ setTimeout(async () => await this.mqttClient.reconnect({
199
+ incomingStore: this.messageStore?.incoming,
200
+ outgoingStore: this.messageStore?.outgoing,
201
+ }), 1000);
193
202
  }, 0);
194
203
  }
195
204
  serializeMessage(msg) {
@@ -228,7 +237,7 @@ fLibdXgfUjlbFwApfXoXZsYZMwyFq/HjIKS1pyA=
228
237
  }
229
238
  connectClient(broker_url, key, crt) {
230
239
  logger_service_1.l.info("Connecting to mqtt broker %s", broker_url);
231
- return new Promise((resolve, reject) => {
240
+ return new Promise(async (resolve, reject) => {
232
241
  const mqttClientOptions = {};
233
242
  mqttClientOptions.rejectUnauthorized = process.env["NODE_TLS_REJECT_UNAUTHORIZED"] === "0" ? false : true;
234
243
  mqttClientOptions.ca = this.getCA();
@@ -238,6 +247,8 @@ fLibdXgfUjlbFwApfXoXZsYZMwyFq/HjIKS1pyA=
238
247
  mqttClientOptions.clientId = x509.parseCert(crt).subject.commonName;
239
248
  mqttClientOptions.reconnectPeriod = 10000;
240
249
  logger_service_1.l.debug(mqttClientOptions, "MQTT options");
250
+ mqttClientOptions.incomingStore = this.messageStore?.incoming;
251
+ mqttClientOptions.outgoingStore = this.messageStore?.outgoing;
241
252
  this.mqttClient = mqtt_1.default.connect(broker_url, mqttClientOptions);
242
253
  logger_service_1.l.debug("MQTT client created");
243
254
  this.mqttClient.on("connect", async (v) => {
@@ -403,7 +414,11 @@ fLibdXgfUjlbFwApfXoXZsYZMwyFq/HjIKS1pyA=
403
414
  }
404
415
  throw "Cannot publish if not ready to transmit";
405
416
  }
406
- logger_service_1.l.trace(">>>> %s %j %d %j", topic, payload, message.length, message);
417
+ options = options || { qos: this.defaultQoS };
418
+ if (!options.qos) {
419
+ options.qos = this.defaultQoS;
420
+ }
421
+ logger_service_1.l.trace(">>>> %s %j %d %j QoS %n", topic, payload, message.length, message, options.qos);
407
422
  if (options?.cb) {
408
423
  await this.mqttClient.publish(topic, message, options, (err, packet) => {
409
424
  options.cb(err, packet);
@@ -1 +1 @@
1
- {"version":3,"file":"device.service.js","sourceRoot":"","sources":["../../src/services/device.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.service.js","sourceRoot":"","sources":["../../src/services/device.service.ts"],"names":[],"mappings":"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"}
package/envs.md CHANGED
@@ -26,6 +26,9 @@ The last configuration is saved in `.env` after lines:
26
26
  | **LOG_CONTEXT** | Context identifier for logs |
27
27
  | **BROKER_CA_FILE** | The broker CA file (by default the common Corvina CA is used ). If `NODE_TLS_REJECT_UNAUTHORIZED` is set to zero, also the mqtt connection won't validate the server certificate and this option is ignored. |
28
28
  | **ONLY_TEST_CONNECTION** | If set to "true" exits immediately after having established a successful connection with the MQTT broker |
29
+ | **MQTT_DEFAULT_QOS** | The default MQTT QoS to use when sending data. |
30
+ | **MQTT_MSG_STORE_PATH** | The path where the MQTT messages are stored. If not set messages are not persistently stored |
31
+ | **DEBUG** | Can be set to `mqttjs*` to debug the underlying mqttjs library |
29
32
  | | |
30
33
 
31
34
  ### Simulation configuration
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corvina/device-client",
3
- "version": "1.4.9",
3
+ "version": "1.5.0",
4
4
  "description": "Corvina NodeJS Device Client",
5
5
  "author": "arrigo.zanette@corvina.io",
6
6
  "license": "MIT",
@@ -57,6 +57,8 @@
57
57
  "dotenv": "^16.0.1",
58
58
  "lodash": "^4.17.21",
59
59
  "mqtt": "^5.3.5",
60
+ "mqtt-jsonl-store": "^0.2.1",
61
+ "mqtt-level-store": "^3.1.0",
60
62
  "mustache": "^4.2.0",
61
63
  "passport": "^0.5.2",
62
64
  "passport-headerapikey": "^1.2.2",
@@ -104,5 +106,5 @@
104
106
  "coverageDirectory": "./coverage",
105
107
  "testEnvironment": "node"
106
108
  },
107
- "gitHead": "1e246bdccae776e465cff9065f510ca1d16f9ebc"
109
+ "gitHead": "9b14554f882291d3c8a44ba03a988e087423f5e6"
108
110
  }