OCPP16RequestCommand,
StatusNotificationRequest,
} from '../../../types/ocpp/1.6/Requests';
-import { MeterValuesRequest, OCPP16MeterValue } from '../../../types/ocpp/1.6/MeterValues';
import { ResponseType, SendParams } from '../../../types/ocpp/Requests';
import type ChargingStation from '../../ChargingStation';
import Constants from '../../../utils/Constants';
import { ErrorType } from '../../../types/ocpp/ErrorType';
import { JsonType } from '../../../types/JsonType';
-import { OCPP16DiagnosticsStatus } from '../../../types/ocpp/1.6/DiagnosticsStatus';
+import { MeterValuesRequest } from '../../../types/ocpp/1.6/MeterValues';
import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
import OCPPError from '../../../exception/OCPPError';
import OCPPRequestService from '../OCPPRequestService';
);
}
- public async sendTransactionBeginMeterValues(
- connectorId: number,
- transactionId: number,
- beginMeterValue: OCPP16MeterValue
- ): Promise<void> {
- const payload: MeterValuesRequest = {
- connectorId,
- transactionId,
- meterValue: [beginMeterValue],
- };
- await this.sendMessage(Utils.generateUUID(), payload, OCPP16RequestCommand.METER_VALUES);
- }
-
- public async sendTransactionEndMeterValues(
- connectorId: number,
- transactionId: number,
- endMeterValue: OCPP16MeterValue
- ): Promise<void> {
- const payload: MeterValuesRequest = {
- connectorId,
- transactionId,
- meterValue: [endMeterValue],
- };
- await this.sendMessage(Utils.generateUUID(), payload, OCPP16RequestCommand.METER_VALUES);
- }
-
- public async sendDiagnosticsStatusNotification(
- diagnosticsStatus: OCPP16DiagnosticsStatus
- ): Promise<void> {
- const payload: DiagnosticsStatusNotificationRequest = {
- status: diagnosticsStatus,
- };
- await this.sendMessage(
- Utils.generateUUID(),
- payload,
- OCPP16RequestCommand.DIAGNOSTICS_STATUS_NOTIFICATION
- );
- }
-
private buildCommandPayload(
commandName: OCPP16RequestCommand,
commandParams?: JsonType
return {
connectorId: commandParams?.connectorId,
transactionId: commandParams?.transactionId,
- meterValue: Array.isArray(commandParams?.meterValues)
- ? commandParams?.meterValues
+ meterValue: Array.isArray(commandParams?.meterValue)
+ ? commandParams?.meterValue
: [commandParams?.meterValue],
} as MeterValuesRequest;
case OCPP16RequestCommand.STATUS_NOTIFICATION:
timestamp: new Date().toISOString(),
} as StartTransactionRequest;
case OCPP16RequestCommand.STOP_TRANSACTION:
- for (const id of this.chargingStation.connectors.keys()) {
- if (
- id > 0 &&
- this.chargingStation.getConnectorStatus(id)?.transactionId ===
- commandParams?.transactionId
- ) {
- connectorId = id;
- break;
- }
- }
+ connectorId = this.chargingStation.getConnectorIdByTransactionId(
+ commandParams?.transactionId as number
+ );
return {
transactionId: commandParams?.transactionId,
...(!Utils.isUndefined(commandParams?.idTag) && { idTag: commandParams.idTag }),