Add additional ids for logError for site admin
MODIFY
src/client/ocpi/CpoOCPIClient.ts
src/client/ocpi/CpoOCPIClient.ts
@@ -852,6 +852,9 @@ export default class CpoOCPIClient extends OCPIClient {
await Logging.logError({
tenantID: this.tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
action: ServerAction.OCPI_CHECK_CDRS,
message: `${Utils.buildConnectorInfo(transaction.connectorId, transaction.id)} CDR does not exist in IOP`,
@@ -890,6 +893,9 @@ export default class CpoOCPIClient extends OCPIClient {
await Logging.logError({
tenantID: this.tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
action: ServerAction.OCPI_CHECK_CDRS,
message: `${Utils.buildConnectorInfo(transaction.connectorId, transaction.id)} Failed to check CDR '${transaction.ocpiData.session.id}' at ${cdrsUrl}/${transaction.ocpiData.cdr.id}`,
@@ -941,6 +947,9 @@ export default class CpoOCPIClient extends OCPIClient {
await Logging.logError({
tenantID: this.tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
action: ServerAction.OCPI_CHECK_SESSIONS,
message: `${Utils.buildConnectorInfo(transaction.connectorId, transaction.id)} Failed to check Transaction at ${sessionsUrl}`,

MODIFY
src/client/ocpp/json/JsonRestChargingStationClient.ts
src/client/ocpp/json/JsonRestChargingStationClient.ts
@@ -176,6 +176,9 @@ export default class JsonRestChargingStationClient extends ChargingStationClient
await Logging.logError({
tenantID: this.tenantID,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
action: ServerAction.WS_REST_CLIENT_CONNECTION_ERROR,
module: MODULE_NAME, method: 'onError',
@@ -198,6 +201,9 @@ export default class JsonRestChargingStationClient extends ChargingStationClient
await Logging.logError({
tenantID: this.tenantID,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
action: ServerAction.WS_REST_CLIENT_ERROR_RESPONSE,
module: MODULE_NAME, method: 'onMessage',
@@ -217,6 +223,9 @@ export default class JsonRestChargingStationClient extends ChargingStationClient
await Logging.logError({
tenantID: this.tenantID,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
action: ServerAction.WS_REST_CLIENT_ERROR_RESPONSE,
module: MODULE_NAME, method: 'onMessage',

MODIFY
src/client/ocpp/soap/SoapChargingStationClient.ts
src/client/ocpp/soap/SoapChargingStationClient.ts
@@ -47,6 +47,9 @@ export default class SoapChargingStationClient extends ChargingStationClient {
tenantID: scsc.tenantID,
action: ServerAction.CHARGING_STATION_CLIENT_INITIALIZATION,
siteID: scsc.chargingStation.siteID,
+ siteAreaID: scsc.chargingStation.siteAreaID,
+ companyID: scsc.chargingStation.companyID,
+ chargeBoxID: scsc.chargingStation.id,
source: scsc.chargingStation.id,
module: MODULE_NAME, method: 'getChargingStationClient',
message: `OCPP version ${scsc.chargingStation.ocppVersion} not supported`
@@ -63,6 +66,9 @@ export default class SoapChargingStationClient extends ChargingStationClient {
tenantID: scsc.tenantID,
action: ServerAction.CHARGING_STATION_CLIENT_INITIALIZATION,
siteID: scsc.chargingStation.siteID,
+ siteAreaID: scsc.chargingStation.siteAreaID,
+ companyID: scsc.chargingStation.companyID,
+ chargeBoxID: scsc.chargingStation.id,
source: scsc.chargingStation.id,
module: MODULE_NAME, method: 'getChargingStationClient',
message: `Error when creating SOAP client: ${error.toString()}`,
@@ -96,6 +102,9 @@ export default class SoapChargingStationClient extends ChargingStationClient {
tenantID: this.tenantID,
action: ServerAction.CHARGING_STATION_REMOTE_STOP_TRANSACTION,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
module: MODULE_NAME, method: 'remoteStopTransaction',
message: `Error when trying to stop the transaction ID ${params.transactionId}: ${error.toString()}`,
@@ -126,6 +135,9 @@ export default class SoapChargingStationClient extends ChargingStationClient {
tenantID: this.tenantID,
action: ServerAction.CHARGING_STATION_REMOTE_START_TRANSACTION,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
module: MODULE_NAME, method: 'remoteStartTransaction',
message: `Error when trying to start a transaction: ${error.toString()}`,
@@ -158,6 +170,9 @@ export default class SoapChargingStationClient extends ChargingStationClient {
tenantID: this.tenantID,
action: ServerAction.CHARGING_STATION_UNLOCK_CONNECTOR,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
module: MODULE_NAME, method: 'unlockConnector',
message: `Error when trying to unlock the connector '${params.connectorId}': ${error.toString()}`,
@@ -189,6 +204,9 @@ export default class SoapChargingStationClient extends ChargingStationClient {
tenantID: this.tenantID,
action: ServerAction.CHARGING_STATION_RESET,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
module: MODULE_NAME, method: 'reset',
message: `Error when trying to reboot: ${error.toString()}`,
@@ -218,6 +236,9 @@ export default class SoapChargingStationClient extends ChargingStationClient {
tenantID: this.tenantID,
action: ServerAction.CHARGING_STATION_CLEAR_CACHE,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
module: MODULE_NAME, method: 'clearCache',
message: `Error when trying to clear the cache: ${error.toString()}`,
@@ -256,6 +277,9 @@ export default class SoapChargingStationClient extends ChargingStationClient {
tenantID: this.tenantID,
action: ServerAction.CHARGING_STATION_GET_CONFIGURATION,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
module: MODULE_NAME, method: 'getConfiguration',
message: `Error when trying to get the configuration: ${error.toString()}`,
@@ -292,6 +316,9 @@ export default class SoapChargingStationClient extends ChargingStationClient {
await Logging.logError({
tenantID: this.tenantID,
siteID: this.chargingStation.siteID,
+ siteAreaID: this.chargingStation.siteAreaID,
+ companyID: this.chargingStation.companyID,
+ chargeBoxID: this.chargingStation.id,
source: this.chargingStation.id,
module: MODULE_NAME, method: 'changeConfiguration',
action: ServerAction.CHARGING_STATION_CHANGE_CONFIGURATION,

MODIFY
src/client/oicp/CpoOICPClient.ts
src/client/oicp/CpoOICPClient.ts
@@ -709,6 +709,9 @@ export default class CpoOICPClient extends OICPClient {
await Logging.logError({
tenantID: this.tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
user: user,
action: ServerAction.OICP_AUTHORIZE_STOP,
@@ -725,6 +728,9 @@ export default class CpoOICPClient extends OICPClient {
await Logging.logError({
tenantID: this.tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
user: user,
action: ServerAction.OICP_AUTHORIZE_STOP,
@@ -821,6 +827,9 @@ export default class CpoOICPClient extends OICPClient {
await Logging.logError({
tenantID: this.tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
user: transaction.user,
action: ServerAction.OICP_PUSH_CDRS,

MODIFY
src/integration/charging-station-vendor/ChargingStationVendorIntegration.ts
src/integration/charging-station-vendor/ChargingStationVendorIntegration.ts
@@ -236,6 +236,9 @@ export default abstract class ChargingStationVendorIntegration {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.CHARGING_PROFILE_UPDATE,
message: 'Error occurred while setting the Charging Profile',
@@ -334,6 +337,9 @@ export default abstract class ChargingStationVendorIntegration {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.CHARGING_PROFILE_DELETE,
message: 'Error occurred while clearing the Charging Profile',
@@ -387,6 +393,9 @@ export default abstract class ChargingStationVendorIntegration {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.CHARGING_STATION_GET_COMPOSITE_SCHEDULE,
message: 'Error occurred while getting the Composite Schedule',
@@ -491,6 +500,9 @@ export default abstract class ChargingStationVendorIntegration {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.GET_CONNECTOR_CURRENT_LIMIT,
message: `${Utils.buildConnectorInfo(connectorID)} Cannot retrieve the current limitation`,

MODIFY
src/integration/smart-charging/SmartChargingIntegration.ts
src/integration/smart-charging/SmartChargingIntegration.ts
@@ -63,6 +63,10 @@ export default abstract class SmartChargingIntegration<T extends SmartChargingSe
await Logging.logError({
tenantID: this.tenant.id,
source: chargingProfile.chargingStationID,
+ siteID: chargingProfile.chargingStation.siteID,
+ siteAreaID: chargingProfile.chargingStation.siteAreaID,
+ companyID: chargingProfile.chargingStation.companyID,
+ chargeBoxID: chargingProfile.chargingStationID,
action: ServerAction.CHARGING_PROFILE_UPDATE,
module: MODULE_NAME, method: 'computeAndApplyChargingProfiles',
message: `Setting Charging Profiles for Site Area '${siteArea.name}' failed, because of '${chargingProfile.chargingStationID}'. It has been excluded from this smart charging run automatically`,
@@ -134,6 +138,10 @@ export default abstract class SmartChargingIntegration<T extends SmartChargingSe
await Logging.logError({
tenantID: this.tenant.id,
source: chargingProfile.chargingStationID,
+ siteID: chargingProfile.chargingStation.siteID,
+ siteAreaID: chargingProfile.chargingStation.siteAreaID,
+ companyID: chargingProfile.chargingStation.companyID,
+ chargeBoxID: chargingProfile.chargingStationID,
action: ServerAction.CHARGING_PROFILE_UPDATE,
module: MODULE_NAME, method: 'handleRefusedChargingProfile',
message: 'Setting Charging Profiles failed 3 times.',

MODIFY
src/scheduler/tasks/CheckChargingStationTemplateTask.ts
src/scheduler/tasks/CheckChargingStationTemplateTask.ts
@@ -65,6 +65,9 @@ export default class CheckChargingStationTemplateTask extends SchedulerTask {
tenantID: tenant.id,
action: ServerAction.UPDATE_CHARGING_STATION_WITH_TEMPLATE,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
module: MODULE_NAME, method: 'applyTemplateToChargingStations',
message: `Template update error in Tenant ${Utils.buildTenantName(tenant)}): ${error.message}`,

MODIFY
src/server/ocpi/ocpi-services-impl/ocpi-2.1.1/cpo/CPOCommandsEndpoint.ts
src/server/ocpi/ocpi-services-impl/ocpi-2.1.1/cpo/CPOCommandsEndpoint.ts
@@ -127,6 +127,9 @@ export default class CPOCommandsEndpoint extends AbstractEndpoint {
tenantID: tenant.id,
action: ServerAction.OCPI_START_SESSION,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
message: `${Utils.buildConnectorInfo(connectorID)} Connector not found`,
module: MODULE_NAME, method: 'remoteStartSession',
@@ -139,6 +142,9 @@ export default class CPOCommandsEndpoint extends AbstractEndpoint {
tenantID: tenant.id,
action: ServerAction.OCPI_START_SESSION,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
message: `Charging Station ID '${startSession.evse_uid}' is either not public or local to the tenant`,
module: MODULE_NAME, method: 'remoteStartSession',
@@ -152,6 +158,9 @@ export default class CPOCommandsEndpoint extends AbstractEndpoint {
tenantID: tenant.id,
action: ServerAction.OCPI_STOP_SESSION,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
message: `Charging Station ID '${chargingStation.id}' is not available (status is '${connector.status}')`,
module: MODULE_NAME, method: 'remoteStartSession',
@@ -169,6 +178,9 @@ export default class CPOCommandsEndpoint extends AbstractEndpoint {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.OCPI_START_SESSION,
message: `Remote authorization already exists for Charging Station '${chargingStation.id}' and Connector ID ${connector.connectorId}`,
@@ -227,6 +239,9 @@ export default class CPOCommandsEndpoint extends AbstractEndpoint {
await Logging.logError({
tenantID: tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
action: ServerAction.OCPI_STOP_SESSION,
message: `Transaction with Session ID '${stopSession.session_id}' is local to the tenant`,
@@ -240,6 +255,9 @@ export default class CPOCommandsEndpoint extends AbstractEndpoint {
tenantID: tenant.id,
action: ServerAction.OCPI_STOP_SESSION,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
message: `Transaction with Session ID '${stopSession.session_id}' is already stopped`,
module: MODULE_NAME, method: 'remoteStopSession',
@@ -252,6 +270,9 @@ export default class CPOCommandsEndpoint extends AbstractEndpoint {
await Logging.logError({
tenantID: tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
action: ServerAction.OCPI_STOP_SESSION,
message: `Charging Station ID '${transaction.chargeBoxID}' has not been found`,
@@ -298,6 +319,9 @@ export default class CPOCommandsEndpoint extends AbstractEndpoint {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.OCPI_START_SESSION,
message: 'Charging Station is not connected to the backend',
@@ -323,6 +347,9 @@ export default class CPOCommandsEndpoint extends AbstractEndpoint {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.OCPI_STOP_SESSION,
message: 'Charging Station is not connected to the backend',

MODIFY
src/server/ocpp/services/OCPPService.ts
src/server/ocpp/services/OCPPService.ts
@@ -721,6 +721,9 @@ export default class OCPPService {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
module: MODULE_NAME, method: 'triggerSmartChargingStopTransaction',
action: ServerAction.STOP_TRANSACTION,
@@ -759,6 +762,9 @@ export default class OCPPService {
await Logging.logError({
tenantID: tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
action: ServerAction.CHARGING_PROFILE_DELETE,
message: `${Utils.buildConnectorInfo(transaction.connectorId, transaction.id)} Cannot delete TX Charging Profile with ID '${chargingProfile.id}'`,
@@ -824,6 +830,9 @@ export default class OCPPService {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
module: MODULE_NAME, method: 'processSmartChargingStatusNotification',
action: ServerAction.STATUS_NOTIFICATION,
@@ -1034,6 +1043,9 @@ export default class OCPPService {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
module: MODULE_NAME, method: 'updateOCPIConnectorStatus',
action: ServerAction.OCPI_PATCH_STATUS,
@@ -1054,6 +1066,9 @@ export default class OCPPService {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
module: MODULE_NAME, method: 'updateOICPConnectorStatus',
action: ServerAction.OICP_UPDATE_EVSE_STATUS,
@@ -1072,6 +1087,9 @@ export default class OCPPService {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.STATUS_NOTIFICATION,
module: MODULE_NAME, method: 'notifyStatusNotification',
@@ -1553,6 +1571,9 @@ export default class OCPPService {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
module: MODULE_NAME, method: 'stopOrDeleteActiveTransactions',
action: ServerAction.CLEANUP_TRANSACTION,
@@ -2028,6 +2049,9 @@ export default class OCPPService {
tenantID: tenant.id,
action: ServerAction.BOOT_NOTIFICATION,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
module: MODULE_NAME, method: 'requestOCPPConfigurationDelayed',
message: `Cannot set heartbeat interval OCPP Parameter on '${chargingStation.id}' in Tenant '${tenant.name}' ('${tenant.subdomain}')`,
@@ -2043,6 +2067,9 @@ export default class OCPPService {
tenantID: tenant.id,
action: ServerAction.BOOT_NOTIFICATION,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
module: MODULE_NAME, method: 'requestOCPPConfigurationDelayed',
message: `Cannot request and save OCPP Parameters from '${chargingStation.id}' in Tenant '${tenant.name}' ('${tenant.subdomain}')`,

MODIFY
src/server/ocpp/utils/OCPPUtils.ts
src/server/ocpp/utils/OCPPUtils.ts
@@ -312,6 +312,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
user: transaction.userID,
action: ServerAction.BILLING_TRANSACTION,
@@ -342,6 +345,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
user: transaction.userID,
action: ServerAction.BILLING_TRANSACTION,
@@ -365,6 +371,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
user: transaction.userID,
action: ServerAction.BILLING_TRANSACTION,
@@ -849,6 +858,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
module: MODULE_NAME, method: 'createConsumptionsFromMeterValues',
action: ServerAction.METER_VALUES,
@@ -1316,6 +1328,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.UPDATE_CHARGING_STATION_WITH_TEMPLATE,
module: MODULE_NAME, method: 'applyTemplateOcppParametersToChargingStation',
@@ -1346,6 +1361,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingProfile.chargingStation?.siteID,
+ siteAreaID: chargingProfile.chargingStation?.siteAreaID,
+ companyID: chargingProfile.chargingStation?.companyID,
+ chargeBoxID: chargingProfile.chargingStationID,
source: chargingProfile.chargingStationID,
action: ServerAction.CHARGING_PROFILE_DELETE,
module: MODULE_NAME, method: 'clearAndDeleteChargingProfilesForSiteArea',
@@ -1392,6 +1410,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.CHARGING_PROFILE_DELETE,
message: 'Error occurred while clearing the Charging Profile',
@@ -1774,6 +1795,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.CHARGING_STATION_CHANGE_CONFIGURATION,
module: MODULE_NAME, method: 'updateChargingStationOcppParametersWithTemplate',
@@ -1785,6 +1809,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.CHARGING_STATION_CHANGE_CONFIGURATION,
module: MODULE_NAME, method: 'updateChargingStationOcppParametersWithTemplate',
@@ -1903,6 +1930,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.CHARGING_STATION_RESET,
module: MODULE_NAME, method: 'triggerChargingStationReset',
@@ -1925,6 +1955,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.CHARGING_STATION_RESET,
module: MODULE_NAME, method: 'triggerChargingStationReset',
@@ -2087,6 +2120,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.UPDATE_CHARGING_STATION_WITH_TEMPLATE,
module: MODULE_NAME, method: 'enrichChargingStationWithTemplate',
@@ -2153,6 +2189,9 @@ export default class OCPPUtils {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.UPDATE_CHARGING_STATION_WITH_TEMPLATE,
module: MODULE_NAME, method: 'enrichChargingStationWithTemplate',

MODIFY
src/server/oicp/oicp-services-impl/oicp-2.3.0/CPORemoteAuthorizationsEndpoint.ts
src/server/oicp/oicp-services-impl/oicp-2.3.0/CPORemoteAuthorizationsEndpoint.ts
@@ -189,6 +189,9 @@ export default class CPORemoteAuthorizationsEndpoint extends AbstractEndpoint {
await Logging.logError({
tenantID: tenant.id,
siteID: transaction.siteID,
+ siteAreaID: transaction.siteAreaID,
+ companyID: transaction.companyID,
+ chargeBoxID: transaction.chargeBoxID,
source: transaction.chargeBoxID,
action: ServerAction.OICP_AUTHORIZE_REMOTE_STOP,
message: `Charging Station '${transaction.chargeBoxID}' not found`,
@@ -211,6 +214,9 @@ export default class CPORemoteAuthorizationsEndpoint extends AbstractEndpoint {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.OICP_AUTHORIZE_REMOTE_START,
message: `Charging Station '${chargingStation.id}' not found`,
@@ -231,6 +237,9 @@ export default class CPORemoteAuthorizationsEndpoint extends AbstractEndpoint {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
action: ServerAction.OICP_AUTHORIZE_REMOTE_STOP,
message: `Charging Station '${chargingStation.id}' not found`,

MODIFY
src/server/rest/v1/service/ChargingStationService.ts
src/server/rest/v1/service/ChargingStationService.ts
@@ -1611,6 +1611,9 @@ export default class ChargingStationService {
await Logging.logError({
tenantID: tenant.id,
siteID: chargingStation.siteID,
+ siteAreaID: chargingStation.siteAreaID,
+ companyID: chargingStation.companyID,
+ chargeBoxID: chargingStation.id,
source: chargingStation.id,
user: user,
module: MODULE_NAME, method: 'handleChargingStationCommand',

Add additional ids for logError for site admin