- this.initTransactionOnConnector(connectorId);
- if (this.getConnector(connectorId)?.transactionSetInterval) {
- clearInterval(this.getConnector(connectorId).transactionSetInterval);
+ this.getConnector(connectorId).transactionStarted = false;
+ delete this.getConnector(connectorId).transactionId;
+ delete this.getConnector(connectorId).idTag;
+ this.getConnector(connectorId).transactionEnergyActiveImportRegisterValue = 0;
+ delete this.getConnector(connectorId).transactionBeginMeterValue;
+ this.stopMeterValues(connectorId);
+ }
+
+ public addToMessageQueue(message: string): void {
+ let dups = false;
+ // Handle dups in message queue
+ for (const bufferedMessage of this.messageQueue) {
+ // Message already in the queue
+ if (message === bufferedMessage) {
+ dups = true;
+ break;
+ }
+ }
+ if (!dups) {
+ // Queue message
+ this.messageQueue.push(message);
+ }
+ }
+
+ private flushMessageQueue() {
+ if (!Utils.isEmptyArray(this.messageQueue)) {
+ this.messageQueue.forEach((message, index) => {
+ this.messageQueue.splice(index, 1);
+ this.wsConnection.send(message);
+ });