- // Set connector transaction related attributes
- this._connectors[requestPayload.connectorId].transactionStarted = false;
- this._connectors[requestPayload.connectorId].idTag = requestPayload.idTag;
-
- if (payload.idTagInfo.status === 'Accepted') {
- for (const connector in this._connectors) {
- if (Utils.convertToInt(connector) === Utils.convertToInt(requestPayload.connectorId)) {
- this._connectors[connector].transactionStarted = true;
- this._connectors[connector].transactionId = payload.transactionId;
- this._connectors[connector].lastConsumptionValue = 0;
- this._connectors[connector].lastSoC = 0;
- logger.info(this._basicFormatLog() + ' Transaction ' + this._connectors[connector].transactionId + ' STARTED on ' + this._stationInfo.name + '#' + requestPayload.connectorId + ' for idTag ' + requestPayload.idTag);
- this.sendStatusNotification(requestPayload.connectorId, 'Charging');
- const configuredMeterValueSampleInterval = this._configuration.configurationKey.find((value) => value.key === 'MeterValueSampleInterval');
- this.startMeterValues(requestPayload.connectorId,
- configuredMeterValueSampleInterval ? configuredMeterValueSampleInterval.value * 1000 : 60000,
- this);
- }
+ if (this._connectors[requestPayload.connectorId].transactionStarted) {
+ logger.debug(this._basicFormatLog() + ' Try to start a transaction on an already used connector ' + requestPayload.connectorId + ' by transaction ' + this._connectors[requestPayload.connectorId].transactionId);
+ }
+
+ let transactionConnectorId;
+ for (const connector in this._connectors) {
+ if (Utils.convertToInt(connector) === Utils.convertToInt(requestPayload.connectorId)) {
+ transactionConnectorId = connector;
+ break;