فهرست منبع

2019.09.19/Kathy Yeh Actions: 1.modify segmentation fault 2 modify GetConfiguration.conf: readonly Boolean type error Files: 1. As follow commit history. Image version: D0.00.XX.XXXX.PH Image checksum: XXXXXXXX Hardware PWB P/N : XXXXXXX Hardware Version : XXXXXX

Kathy Yeh 5 سال پیش
والد
کامیت
e97c1ba448
2فایلهای تغییر یافته به همراه163 افزوده شده و 118 حذف شده
  1. 4 2
      EVSE/Modularization/ocppfiles/JsonParser.c
  2. 159 116
      EVSE/Modularization/ocppfiles/MessageHandler.c

+ 4 - 2
EVSE/Modularization/ocppfiles/JsonParser.c

@@ -266,8 +266,9 @@ void json_parse(json_object * jobj) {
 	   			break;
 	   	}
 
-	   json_parse_array(jobj, NULL);
+	   	// json_parse_array(jobj, NULL); -- remove temporally
    }
+#if 0
    else
    {
 	   json_object_object_foreach(jobj, key, val) { /*Passing through every array element*/
@@ -291,9 +292,10 @@ void json_parse(json_object * jobj) {
 	   	   }
 	   }
    }
+#endif
 
   //free json object
-  	json_object_put(json_list);
+  //	json_object_put(json_list); -- remove temporally
 } 
 
 //==========================================

+ 159 - 116
EVSE/Modularization/ocppfiles/MessageHandler.c

@@ -1058,7 +1058,8 @@ int InitShareMemory()
 	printf("8\n");
 	HeartBeatWaitTime = 10;
 
-
+	ShmOCPP16Data->GetConfiguration.ResponseUnknownKey = NULL;
+	ShmOCPP16Data->SendLocalList.LocalAuthorizationList = NULL;
 
 
 	//memset(unknownkey, 0, 10);
@@ -1315,7 +1316,7 @@ void CheckSystemValue(void)
             if((teststatus == 1) && (testCountInc <= testCount))
 			{
 #endif
-            	sleep(1); //?��?1�?
+            	sleep(1); //?��?1�
             	if(meterValueSend == 1)
 				sendMeterValuesRequest(gun_index);
 #if 0  //for test
@@ -1383,7 +1384,7 @@ void CheckSystemValue(void)
 				for (int index = 0; index < CHAdeMO_QUANTITY; index++)
 				{
 					//0: Booting, 1: idle, 2: authorizing, 3: preparing, 4: charging, 5: terminating, 6: alarm, 7: fault, 8: Reserved, 9: maintain
-					if ((ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].Index == gun_index) &&(1/*�約旗標*//*ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus != '8'*/))
+					if ((ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].Index == gun_index) &&(1/*?�ç??—æ?*//*ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus != '8'*/))
 					{
 						//if((ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == '6') || (ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == '7') || (ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == '9') )
 						if((ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == 11) || (ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == 12) ) // S_ALARM, S_FAULT
@@ -1398,7 +1399,7 @@ void CheckSystemValue(void)
 				for (int index = 0; index < CCS_QUANTITY; index++)
 				{
 					//0: Booting, 1: idle, 2: authorizing, 3: preparing, 4: charging, 5: terminating, 6: alarm, 7: fault, 8: Reserved, 9: maintain
-					if ((ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].Index == gun_index)&&(1/*�約旗標*//*ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus != '8'*/))
+					if ((ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].Index == gun_index)&&(1/*?�ç??—æ?*//*ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus != '8'*/))
 					{
 
 						//if((ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus == '6') || (ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus == '7') || (ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus == '9') )
@@ -1414,7 +1415,7 @@ void CheckSystemValue(void)
 				for (int index = 0; index < GB_QUANTITY; index++)
 				{
 					//0: Booting, 1: idle, 2: authorizing, 3: preparing, 4: charging, 5: terminating, 6: alarm, 7: fault, 8: Reserved, 9: maintain
-					if ((ShmSysConfigAndInfo->SysInfo.GbChargingData[index].Index == gun_index)&&(1/*�約旗標*//*ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus != '8'*/) )
+					if ((ShmSysConfigAndInfo->SysInfo.GbChargingData[index].Index == gun_index)&&(1/*?�ç??—æ?*//*ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus != '8'*/) )
 					{
 
 						//if((ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus == '6') || (ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus == '7') || (ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus == '9') )
@@ -2990,30 +2991,41 @@ int sendGetConfigurationConfirmation(char *uuid)
     MaxKeySupported = atoi(ShmOCPP16Data->ConfigurationTable.CoreProfile[GetConfigurationMaxKeys].ItemData);
     printf("MaxKeySupported=%d\n",MaxKeySupported);
 //	int configurationKeyArraylen = sizeof(ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey)/sizeof(ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[0]);
-
+    sampledValue = json_object_new_object();
 //	printf("configurationKeyArraylen =%d\n", configurationKeyArraylen);
+
+    //configuration key
 	for(int idx_sample=0;idx_sample< MaxKeySupported/*43*/;idx_sample++)
 	{
 		if(strcmp(ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].Key, "")!= 0)
 		{
 			printf("test test enter add configurationKey\n");
-			sampledValue = json_object_new_object();
 
-			json_object_object_add(sampledValue, "key", json_object_new_string((const char *)((ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey+idx_sample)->Key)));
-			json_object_object_add(sampledValue, "readonly", json_object_new_string((const char *)((ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey+idx_sample)->ReadOnly)));
-			json_object_object_add(sampledValue, "value", json_object_new_string((const char *)((ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey+idx_sample)->Value)));
 
+			printf("ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].Key=%s\n",ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].Key);
+			printf("ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].ReadOnly=%d\n", atoi(ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].ReadOnly));
+			printf("ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].Value=%s\n",ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].Value);
+
+			json_object_object_add(sampledValue, "key", json_object_new_string((const char *)(ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].Key)));
+			printf("error 1\n");
+			json_object_object_add(sampledValue, "readonly", json_object_new_boolean(atoi(ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].ReadOnly)));
+			printf("error 2\n");
+			json_object_object_add(sampledValue, "value", json_object_new_string((const char *)(ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[idx_sample].Value)));
+			printf("error 3\n");
 			json_object_array_add(configurationKeyArray, sampledValue);
+			printf("error 4\n");
 		}
 
 	}
 
 	json_object_object_add(comfirmpayload, "configurationKey", configurationKeyArray );
-
+	printf("error 5\n");
 
 	unknownKeyArray = json_object_new_array();
-	sampledValue = NULL;
+	printf("error 6\n");
+	//sampledValue = NULL;
 
+	//unkown key
 	for(int idx_sample=0;idx_sample< UnknownKeynum ;idx_sample++)
 	{
 		// json_object *jstring1 = json_object_new_string((const char *)((ShmOCPP16Data->GetConfiguration.ResponseUnknownKey + idx_sample)->Item));
@@ -3022,20 +3034,22 @@ int sendGetConfigurationConfirmation(char *uuid)
 
 		json_object_array_add(unknownKeyArray, jstring1);
 	}
-
-
+	printf("error 7\n");
+	if(UnknownKeynum != 0)
 	json_object_object_add(comfirmpayload, "unknownKey ", unknownKeyArray );
 
-
-
 	json_object_array_add(message, json_object_new_int(MESSAGE_TYPE_CALLRESULT));
 
 	json_object_array_add(message, json_object_new_string(uuid));
 
 	json_object_array_add(message, comfirmpayload);
-
+	printf("error 8\n");
 	Send(message);
+	if(UnknownKeynum == 0)
+		json_object_put(unknownKeyArray);
+
 	json_object_put(message);
+	printf("error 9\n");
 
 	return result;
 }
@@ -3577,9 +3591,10 @@ int handleChangeAvailabilityRequest(char *uuid, char *payload)
 	}
 
 	end:
+	json_object_put(obj);
 	sprintf((char *)ShmOCPP16Data->ChangeAvailability[gunIndex - 1].ResponseStatus, "%s", comfirmstr );
 	sendChangeAvailabilityConfirmation(uuid, comfirmstr);
-	json_object_put(obj);
+
 	//ShmOCPP16Data->CsMsg.bits[gunIndex - 1].ChangeAvailabilityConf = 1;
 
 	return result;
@@ -3645,10 +3660,10 @@ int handleChangeConfigurationRequest(char *uuid, char *payload)
     }
 
     //confirmation.setStatus(ConfigurationStatus.Rejected);
-
+    json_object_put(obj);
 	sendChangeConfigurationConfirmation(uuid, comfirmstr);
 	ShmOCPP16Data->MsMsg.bits.ChangeConfigurationConf = 1;
-	json_object_put(obj);
+
 
 	return result;
 }
@@ -3660,7 +3675,7 @@ int handleClearCacheRequest(char *uuid, char *payload)
 	int fd;
     printf("handle  ClearCacheRequest\n");
 
-    /* ?��?一个�?�?*/
+    /* ?��?一个�?�*/
     fd = open(AuthorizationCache_JSON,O_RDWR);
     if(fd < 0)
     {
@@ -3709,7 +3724,7 @@ int handleClearChargingProfileRequest(char *uuid, char *payload)
 	int clearflag = FALSE;
 
 	FILE *fptr1, *fptr2;
-	char temp[] = "./mnt/temp.json";
+	char temp[] = "temp.json";
 	struct json_object *newHeatMap = json_object_new_array();
 
 
@@ -3721,6 +3736,7 @@ int handleClearChargingProfileRequest(char *uuid, char *payload)
 	stackLevel = json_object_object_get(obj, "stackLevel");
 	chargingProfilePurpose = json_object_object_get(obj, "chargingProfilePurpose");
 
+	printf("handle  ClearChargingProfileRequest error 1\n");
 	if(connectorId != NULL)
 	connectorIdInt = json_object_get_int(connectorId);
 
@@ -3733,6 +3749,7 @@ int handleClearChargingProfileRequest(char *uuid, char *payload)
 	if(chargingProfilePurpose != NULL)
 	chargingProfilePurposeStr = json_object_get_string(chargingProfilePurpose);
 
+	printf("handle  ClearChargingProfileRequest error 2\n");
 	if(connectorId != NULL)
 	{
 		switch(connectorIdInt)
@@ -3761,6 +3778,8 @@ int handleClearChargingProfileRequest(char *uuid, char *payload)
 
 	}
 
+	printf("handle  ClearChargingProfileRequest error 3\n");
+
 	fptr1 = fopen(fname, "r");
 	if (!fptr1)
 	{
@@ -3771,6 +3790,7 @@ int handleClearChargingProfileRequest(char *uuid, char *payload)
 	}
 	fclose(fptr1);
 
+	printf("handle  ClearChargingProfileRequest error 4\n");
 
 	if(connectorId != NULL && (connectorIdInt != 0) && ( (connectorIdInt-1) > (CHAdeMO_QUANTITY+ CCS_QUANTITY + GB_QUANTITY) ) )
 	{
@@ -3782,6 +3802,7 @@ int handleClearChargingProfileRequest(char *uuid, char *payload)
 
 	//get json object from file
 	test_obj = json_object_from_file(fname);
+	printf("handle  ClearChargingProfileRequest error 5\n");
 
 	if(json_object_get_type(test_obj) == json_type_array)
 	{
@@ -3789,14 +3810,19 @@ int handleClearChargingProfileRequest(char *uuid, char *payload)
 		//
 		if(connectorId == NULL || connectorIdInt == 0 )
 		{
+			printf("handle  ClearChargingProfileRequest error 6\n");
+
 			//clear the whole contents of a file in C
 			fclose(fopen(ChargingProfile_0_JSON, "w"));
 			fclose(fopen(ChargingProfile_1_JSON, "w"));
 			fclose(fopen(ChargingProfile_2_JSON, "w"));
+			printf("handle  ClearChargingProfileRequest error 7\n");
 
 		}
 		else
 		{
+			printf("handle  ClearChargingProfileRequest error 8\n");
+
 			n_friends = json_object_array_length(test_obj);
 			printf("Found %lu friends\n",n_friends);
 
@@ -3851,6 +3877,7 @@ int handleClearChargingProfileRequest(char *uuid, char *payload)
 
 			}
 
+			printf("handle  ClearChargingProfileRequest error 9\n");
 
 
 			if(clearflag == FALSE)
@@ -3872,18 +3899,26 @@ int handleClearChargingProfileRequest(char *uuid, char *payload)
 		rename(temp, fname);
 
 		json_object_to_file(fname, newHeatMap);
+		printf("handle  ClearChargingProfileRequest error 12\n");
+
 
 
 	}
 	else
 	{
 		sprintf(comfirmstr, "%s", ClearChargingProfileStatusStr[ClearChargingProfileStatus_Unknown] );
+		printf("handle  ClearChargingProfileRequest error 13\n");
+
 
 	}
 
 	end:
 	json_object_put(obj);
+	printf("handle  ClearChargingProfileRequest error 14\n");
+
 	json_object_put(test_obj);
+	printf("handle  ClearChargingProfileRequest error 15\n");
+
 	sendClearChargingProfileConfirmation(uuid, comfirmstr);
 
 	return result;
@@ -4317,8 +4352,11 @@ int handleGetConfigurationRequest(char *uuid, char *payload)
 		printf("key sent num=%d\n",n_keys);
 		for(int i=0;i<n_keys;i++)
 		{
+			printf("test test 1\n");
 			jsonitem = json_object_array_get_idx(key, i);
+			printf("test test 2\n");
 			getKeyValue((char *)json_object_get_string(jsonitem));
+			printf("test test 3\n");
 		}
 	}
 	else
@@ -4327,12 +4365,17 @@ int handleGetConfigurationRequest(char *uuid, char *payload)
 		getKeyValue("");
 	}
 
+	printf("test test 4\n");
 	processUnkownKey();
 
-	ShmOCPP16Data->MsMsg.bits.GetConfigurationReq = 1;
-	sendGetConfigurationConfirmation(uuid);
-	ShmOCPP16Data->MsMsg.bits.GetConfigurationConf = 1;
+	printf("test test 5\n");
+	//ShmOCPP16Data->MsMsg.bits.GetConfigurationReq = 1;
 	json_object_put(obj);
+	printf("test test 6\n");
+	sendGetConfigurationConfirmation(uuid);
+	printf("test test 7\n");
+	//ShmOCPP16Data->MsMsg.bits.GetConfigurationConf = 1;
+
 
 	return result;
 }
@@ -4341,7 +4384,7 @@ int handleGetDiagnosticsRequest(char *uuid, char *payload)
 {
 	int result = FAIL;
 	void *ret; // �執行�??��???
-	pthread_t t; // �?? pthread 變數
+	pthread_t t; // �? pthread 變數
 	pthread_create(&t, NULL, GetDiagnosticsProcess, payload); // 建�?�執行�?
     pthread_join(t, &ret);
   //  ShmOCPP16Data->MsMsg.bits.GetDiagnosticsReq = 1;
@@ -4422,7 +4465,7 @@ void* GetDiagnosticsProcess(void* data)
 	strftime (fname,sizeof(fname),"/mnt/%4Y_%2m.zip",timeinfo);
 	if((access(fname,F_OK))!=-1)
 	{
-		printf("文件 test.c exist.\n");
+		printf("?‡ä»¶ test.c exist.\n");
 	}
 	else
 	{
@@ -4683,7 +4726,7 @@ int handleRemoteStartRequest(char *uuid, char *payload)
 			if (ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].Index == (connectorIdInt -1))
 			{
 
-				if((1/*�約旗標*//*ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == '8'*/)&&(strcmp(ShmSysConfigAndInfo->SysConfig.UserId, idTagstr) == 0))
+				if((1/*?�ç??—æ?*//*ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == '8'*/)&&(strcmp(ShmSysConfigAndInfo->SysConfig.UserId, idTagstr) == 0))
 				{
 
 					//ShmSysConfigAndInfo->SysInfo.ChademoChargingData[connectorIdInt-1].SystemStatus = 8; //S_CHARGING
@@ -4707,7 +4750,7 @@ int handleRemoteStartRequest(char *uuid, char *payload)
 		{
 			if (ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].Index == (connectorIdInt -1))
 			{
-				if((1/*�約旗標*//*ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus == '8'*/)&&(strcmp(ShmSysConfigAndInfo->SysConfig.UserId, idTagstr) == 0))
+				if((1/*?�ç??—æ?*//*ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus == '8'*/)&&(strcmp(ShmSysConfigAndInfo->SysConfig.UserId, idTagstr) == 0))
 				{
 
 					//ShmSysConfigAndInfo->SysInfo.CcsChargingData[connectorIdInt-1].SystemStatus = 8; //S_CHARGING
@@ -4731,7 +4774,7 @@ int handleRemoteStartRequest(char *uuid, char *payload)
 		{
 			if (ShmSysConfigAndInfo->SysInfo.GbChargingData[index].Index == (connectorIdInt -1))
 			{
-				if((1/*�約旗標*//*ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus == '8'*/)&&(strcmp(ShmSysConfigAndInfo->SysConfig.UserId, idTagstr) == 0))
+				if((1/*?�ç??—æ?*//*ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus == '8'*/)&&(strcmp(ShmSysConfigAndInfo->SysConfig.UserId, idTagstr) == 0))
 				{
 
 					//ShmSysConfigAndInfo->SysInfo.GbChargingData[connectorIdInt-1].SystemStatus = 8;  //S_CHARGING
@@ -7055,11 +7098,11 @@ void getKeyValue(char *keyReq)
 		printf("getkey_1_1\n");
 		if(ShmOCPP16Data->ConfigurationTable.CoreProfile[AllowOfflineTxForUnknownId].ItemAccessibility == 1)
 		{
-			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AllowOfflineTxForUnknownId].ReadOnly, "FALSE");
+			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AllowOfflineTxForUnknownId].ReadOnly, "0"/*"FALSE"*/);
 		}
 		else
 		{
-			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AllowOfflineTxForUnknownId].ReadOnly, "TRUE");
+			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AllowOfflineTxForUnknownId].ReadOnly, "1"/*"TRUE"*/);
 		}
 
 		printf("getkey_1_2\n");
@@ -7076,11 +7119,11 @@ void getKeyValue(char *keyReq)
 
 		if(ShmOCPP16Data->ConfigurationTable.CoreProfile[AuthorizationCacheEnabled].ItemAccessibility == 1)
 		{
-			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizationCacheEnabled].ReadOnly, "FALSE");
+			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizationCacheEnabled].ReadOnly, "0"/*"FALSE"*/);
 		}
 		else
 		{
-			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizationCacheEnabled].ReadOnly, "TRUE");
+			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizationCacheEnabled].ReadOnly, "1"/*"TRUE"*/);
 		}
 
 		strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizationCacheEnabled].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[AuthorizationCacheEnabled].ItemData );
@@ -7095,11 +7138,11 @@ void getKeyValue(char *keyReq)
 
 		if(ShmOCPP16Data->ConfigurationTable.CoreProfile[AuthorizeRemoteTxRequests].ItemAccessibility == 1)
 		{
-			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizeRemoteTxRequests].ReadOnly, "FALSE");
+			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizeRemoteTxRequests].ReadOnly, "0"/*"FALSE"*/);
 		}
 		else
 		{
-			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizeRemoteTxRequests].ReadOnly, "TRUE"/*"False"*/);
+			strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizeRemoteTxRequests].ReadOnly, "1"/*"TRUE"*/);
 		}
 
 		strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_AuthorizeRemoteTxRequests].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[AuthorizeRemoteTxRequests].ItemData );
@@ -7114,11 +7157,11 @@ void getKeyValue(char *keyReq)
 
 		  if(ShmOCPP16Data->ConfigurationTable.CoreProfile[BlinkRepeat].ItemAccessibility == 1)
 		  {
-			  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_BlinkRepeat].ReadOnly, "FALSE");
+			  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_BlinkRepeat].ReadOnly, "0"/*"FALSE"*/);
 		  }
 		  else
 		  {
-			  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_BlinkRepeat].ReadOnly, "TRUE");
+			  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_BlinkRepeat].ReadOnly, "1"/*"TRUE"*/);
 		  }
 
 		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_BlinkRepeat].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[BlinkRepeat].ItemData );
@@ -7133,11 +7176,11 @@ void getKeyValue(char *keyReq)
 
 		   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[ClockAlignedDataInterval].ItemAccessibility == 1)
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ClockAlignedDataInterval].ReadOnly, "FALSE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ClockAlignedDataInterval].ReadOnly, "0"/*"FALSE"*/);
 		   }
 		   else
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ClockAlignedDataInterval].ReadOnly, "TRUE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ClockAlignedDataInterval].ReadOnly, "1"/*"TRUE"*/);
 		   }
 
 
@@ -7153,11 +7196,11 @@ void getKeyValue(char *keyReq)
 
 		   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[ConnectionTimeOut].ItemAccessibility == 1)
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectionTimeOut].ReadOnly, "FALSE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectionTimeOut].ReadOnly, "0"/*"FALSE"*/);
 		   }
 		   else
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectionTimeOut].ReadOnly, "TRUE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectionTimeOut].ReadOnly, "1"/*"TRUE"*/);
 		   }
 
 
@@ -7174,11 +7217,11 @@ void getKeyValue(char *keyReq)
 
 		   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[GetConfigurationMaxKeys].ItemAccessibility == 1)
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_GetConfigurationMaxKeys].ReadOnly, "FALSE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_GetConfigurationMaxKeys].ReadOnly, "0"/*"FALSE"*/);
 		   }
 		   else
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_GetConfigurationMaxKeys].ReadOnly, "TRUE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_GetConfigurationMaxKeys].ReadOnly, "1"/*"TRUE"*/);
 		   }
 
 		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_GetConfigurationMaxKeys].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[GetConfigurationMaxKeys].ItemData );
@@ -7194,11 +7237,11 @@ void getKeyValue(char *keyReq)
 
 		   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[HeartbeatInterval].ItemAccessibility == 1)
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_HeartbeatInterval].ReadOnly, "FALSE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_HeartbeatInterval].ReadOnly, "0"/*"FALSE"*/);
 		   }
 		   else
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_HeartbeatInterval].ReadOnly, "TRUE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_HeartbeatInterval].ReadOnly, "1"/*"TRUE"*/);
 		   }
 
 		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_HeartbeatInterval].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[HeartbeatInterval].ItemData );
@@ -7213,11 +7256,11 @@ void getKeyValue(char *keyReq)
 
 		   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[LightIntensity].ItemAccessibility == 1)
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LightIntensity].ReadOnly, "FALSE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LightIntensity].ReadOnly, "0"/*"FALSE"*/);
 		   }
 		   else
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LightIntensity].ReadOnly, "TRUE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LightIntensity].ReadOnly, "1"/*"TRUE"*/);
 		   }
 
 		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LightIntensity].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[LightIntensity].ItemData );
@@ -7233,11 +7276,11 @@ void getKeyValue(char *keyReq)
 
 		   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[LocalAuthorizeOffline].ItemAccessibility == 1)
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthorizeOffline].ReadOnly, "FALSE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthorizeOffline].ReadOnly, "0"/*"FALSE"*/);
 		   }
 		   else
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthorizeOffline].ReadOnly, "TRUE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthorizeOffline].ReadOnly, "1"/*"TRUE"*/);
 		   }
 
 		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthorizeOffline].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[LocalAuthorizeOffline].ItemData );
@@ -7253,11 +7296,11 @@ void getKeyValue(char *keyReq)
 
 		   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[LocalPreAuthorize].ItemAccessibility == 1)
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalPreAuthorize].ReadOnly, "FALSE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalPreAuthorize].ReadOnly, "0"/*"FALSE"*/);
 		   }
 		   else
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalPreAuthorize].ReadOnly, "TRUE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalPreAuthorize].ReadOnly, "1"/*"TRUE"*/);
 		   }
 
 		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalPreAuthorize].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[LocalPreAuthorize].ItemData );
@@ -7272,11 +7315,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[MaxEnergyOnInvalidId].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxEnergyOnInvalidId].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxEnergyOnInvalidId].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxEnergyOnInvalidId].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxEnergyOnInvalidId].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxEnergyOnInvalidId].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[MaxEnergyOnInvalidId].ItemData );
@@ -7291,11 +7334,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValuesAlignedData].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedData].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedData].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedData].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedData].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedData].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValuesAlignedData].ItemData );
@@ -7310,11 +7353,11 @@ void getKeyValue(char *keyReq)
 
 	         if(ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValuesAlignedDataMaxLength].ItemAccessibility == 1)
 	         {
-	        	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedDataMaxLength].ReadOnly, "FALSE");
+	        	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedDataMaxLength].ReadOnly, "0"/*"FALSE"*/);
 	         }
 	         else
 	         {
-	        	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedDataMaxLength].ReadOnly, "TRUE");
+	        	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedDataMaxLength].ReadOnly, "1"/*"TRUE"*/);
 	         }
 
 	         strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesAlignedDataMaxLength].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValuesAlignedDataMaxLength].ItemData );
@@ -7329,11 +7372,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValuesSampledData].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledData].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledData].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledData].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledData].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledData].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValuesSampledData].ItemData );
@@ -7348,11 +7391,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValuesSampledDataMaxLength].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledDataMaxLength].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledDataMaxLength].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledDataMaxLength].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledDataMaxLength].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 	         strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValuesSampledDataMaxLength].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValuesSampledDataMaxLength].ItemData );
 	         isKnowKey = TRUE;
@@ -7366,11 +7409,11 @@ void getKeyValue(char *keyReq)
 
 		   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValueSampleInterval].ItemAccessibility == 1)
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValueSampleInterval].ReadOnly, "FALSE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValueSampleInterval].ReadOnly, "0"/*"FALSE"*/);
 		   }
 		   else
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValueSampleInterval].ReadOnly, "TRUE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValueSampleInterval].ReadOnly, "1"/*"TRUE"*/);
 		   }
 
 		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MeterValueSampleInterval].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[MeterValueSampleInterval].ItemData );
@@ -7385,11 +7428,11 @@ void getKeyValue(char *keyReq)
 
 		   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[MinimumStatusDuration].ItemAccessibility == 1)
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MinimumStatusDuration].ReadOnly, "FALSE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MinimumStatusDuration].ReadOnly, "0"/*"FALSE"*/);
 		   }
 		   else
 		   {
-			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MinimumStatusDuration].ReadOnly, "TRUE");
+			   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MinimumStatusDuration].ReadOnly, "1"/*"TRUE"*/);
 		   }
 
 		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MinimumStatusDuration].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[17].ItemData );
@@ -7404,11 +7447,11 @@ void getKeyValue(char *keyReq)
 
 	         if(ShmOCPP16Data->ConfigurationTable.CoreProfile[NumberOfConnectors].ItemAccessibility == 1)
 	         {
-	        	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_NumberOfConnectors].ReadOnly, "FALSE");
+	        	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_NumberOfConnectors].ReadOnly, "0"/*"FALSE"*/);
 	         }
 	         else
 	         {
-	        	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_NumberOfConnectors].ReadOnly, "TRUE");
+	        	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_NumberOfConnectors].ReadOnly, "1"/*"TRUE"*/);
 	         }
 
 	         strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_NumberOfConnectors].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[NumberOfConnectors].ItemData );
@@ -7423,11 +7466,11 @@ void getKeyValue(char *keyReq)
 
 	        if(ShmOCPP16Data->ConfigurationTable.CoreProfile[ResetRetries].ItemAccessibility == 1)
 	        {
-	        	strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ResetRetries].ReadOnly, "FALSE");
+	        	strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ResetRetries].ReadOnly, "0"/*"FALSE"*/);
 	        }
 	        else
 	        {
-	        	strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ResetRetries].ReadOnly, "TRUE");
+	        	strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ResetRetries].ReadOnly, "1"/*"TRUE"*/);
 	        }
 
 	        strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ResetRetries].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[ResetRetries].ItemData );
@@ -7442,11 +7485,11 @@ void getKeyValue(char *keyReq)
 
 	        if(ShmOCPP16Data->ConfigurationTable.CoreProfile[ConnectorPhaseRotation].ItemAccessibility == 1)
 	        {
-	        	strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotation].ReadOnly, "FALSE");
+	        	strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotation].ReadOnly, "0"/*"FALSE"*/);
 	        }
 	        else
 	        {
-	        	strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotation].ReadOnly, "TRUE");
+	        	strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotation].ReadOnly, "1"/*"TRUE"*/);
 	        }
 
 	        strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotation].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[ConnectorPhaseRotation].ItemData );
@@ -7461,11 +7504,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[ConnectorPhaseRotationMaxLength].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotationMaxLength].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotationMaxLength].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotationMaxLength].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotationMaxLength].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorPhaseRotationMaxLength].Value,(const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[ConnectorPhaseRotationMaxLength].ItemData );
@@ -7480,11 +7523,11 @@ void getKeyValue(char *keyReq)
 
 	    	  if(ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTransactionOnEVSideDisconnect].ItemAccessibility == 1)
 	    	  {
-	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnEVSideDisconnect].ReadOnly, "FALSE");
+	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnEVSideDisconnect].ReadOnly, "0"/*"FALSE"*/);
 	    	  }
 	    	  else
 	    	  {
-	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnEVSideDisconnect].ReadOnly, "TRUE");
+	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnEVSideDisconnect].ReadOnly, "1"/*"TRUE"*/);
 	    	  }
 
 	    	  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnEVSideDisconnect].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTransactionOnEVSideDisconnect].ItemData );
@@ -7499,11 +7542,11 @@ void getKeyValue(char *keyReq)
 
 	    	  if(ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTransactionOnInvalidId].ItemAccessibility == 1)
 	    	  {
-	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnInvalidId].ReadOnly, "FALSE");
+	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnInvalidId].ReadOnly, "0"/*"FALSE"*/);
 	    	  }
 	    	  else
 	    	  {
-	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnInvalidId].ReadOnly, "TRUE");
+	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnInvalidId].ReadOnly, "1"/*"TRUE"*/);
 	    	  }
 
 	    	  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTransactionOnInvalidId].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTransactionOnInvalidId].ItemData );
@@ -7518,11 +7561,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTxnAlignedData].ItemAccessibility  == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedData].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedData].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedData].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedData].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedData].Value,(const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTxnAlignedData].ItemData );
@@ -7537,11 +7580,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTxnAlignedDataMaxLength].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedDataMaxLength].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedDataMaxLength].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedDataMaxLength].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedDataMaxLength].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnAlignedDataMaxLength].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTxnAlignedDataMaxLength].ItemData );
@@ -7556,11 +7599,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTxnSampledData].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledData].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledData].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledData].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledData].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledData].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTxnSampledData].ItemData );
@@ -7575,11 +7618,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTxnSampledDataMaxLength].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledDataMaxLength].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledDataMaxLength].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledDataMaxLength].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledDataMaxLength].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_StopTxnSampledDataMaxLength].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[StopTxnSampledDataMaxLength].ItemData );
@@ -7594,11 +7637,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[SupportedFeatureProfiles].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfiles].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfiles].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfiles].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfiles].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfiles].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[SupportedFeatureProfiles].ItemData );
@@ -7613,11 +7656,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[SupportedFeatureProfilesMaxLength].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfilesMaxLength].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfilesMaxLength].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfilesMaxLength].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfilesMaxLength].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SupportedFeatureProfilesMaxLength].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[SupportedFeatureProfilesMaxLength].ItemData );
@@ -7632,11 +7675,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[TransactionMessageAttempts].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageAttempts].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageAttempts].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageAttempts].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageAttempts].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageAttempts].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[TransactionMessageAttempts].ItemData );
@@ -7651,11 +7694,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.CoreProfile[TransactionMessageRetryInterval].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageRetryInterval].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageRetryInterval].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageRetryInterval].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageRetryInterval].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_TransactionMessageRetryInterval].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[TransactionMessageRetryInterval].ItemData );
@@ -7670,11 +7713,11 @@ void getKeyValue(char *keyReq)
 
 	    	  if(ShmOCPP16Data->ConfigurationTable.CoreProfile[UnlockConnectorOnEVSideDisconnect].ItemAccessibility == 1)
 	    	  {
-	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_UnlockConnectorOnEVSideDisconnect].ReadOnly, "FALSE");
+	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_UnlockConnectorOnEVSideDisconnect].ReadOnly, "0"/*"FALSE"*/);
 	    	  }
 	    	  else
 	    	  {
-	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_UnlockConnectorOnEVSideDisconnect].ReadOnly, "TRUE");
+	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_UnlockConnectorOnEVSideDisconnect].ReadOnly, "1"/*"TRUE"*/);
 	    	  }
 
 	    	  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_UnlockConnectorOnEVSideDisconnect].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[UnlockConnectorOnEVSideDisconnect].ItemData );
@@ -7689,11 +7732,11 @@ void getKeyValue(char *keyReq)
 
 	    	   if(ShmOCPP16Data->ConfigurationTable.CoreProfile[WebSocketPingInterval].ItemAccessibility == 1)
 	    	   {
-	    		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_WebSocketPingInterval].ReadOnly, "FALSE");
+	    		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_WebSocketPingInterval].ReadOnly, "0"/*"FALSE"*/);
 	    	   }
 	    	   else
 	    	   {
-	    		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_WebSocketPingInterval].ReadOnly, "TRUE");
+	    		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_WebSocketPingInterval].ReadOnly, "1"/*"TRUE"*/);
 	    	   }
 
 	    	   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_WebSocketPingInterval].Value, (const char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[WebSocketPingInterval].ItemData );
@@ -7708,11 +7751,11 @@ void getKeyValue(char *keyReq)
 
 	    	   if(ShmOCPP16Data->ConfigurationTable.LocalAuthListManagementProfile[LocalAuthListEnabled].ItemAccessibility == 1)
 	    	   {
-	    		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListEnabled].ReadOnly, "FALSE");
+	    		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListEnabled].ReadOnly, "0"/*"FALSE"*/);
 	    	   }
 	    	   else
 	    	   {
-	    		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListEnabled].ReadOnly, "TRUE");
+	    		   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListEnabled].ReadOnly, "1"/*"TRUE"*/);
 	    	   }
 
 	    	   strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListEnabled].Value, (const char *)ShmOCPP16Data->ConfigurationTable.LocalAuthListManagementProfile[LocalAuthListEnabled].ItemData );
@@ -7727,11 +7770,11 @@ void getKeyValue(char *keyReq)
 
 	    	  if(ShmOCPP16Data->ConfigurationTable.LocalAuthListManagementProfile[LocalAuthListMaxLength].ItemAccessibility == 1)
 	    	  {
-	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListMaxLength].ReadOnly, "FALSE");
+	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListMaxLength].ReadOnly, "0"/*"FALSE"*/);
 	    	  }
 	    	  else
 	    	  {
-	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListMaxLength].ReadOnly, "TRUE");
+	    		  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListMaxLength].ReadOnly, "1"/*"TRUE"*/);
 	    	  }
 
 	    	  strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_LocalAuthListMaxLength].Value, (const char *)ShmOCPP16Data->ConfigurationTable.LocalAuthListManagementProfile[LocalAuthListMaxLength].ItemData );
@@ -7746,11 +7789,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.LocalAuthListManagementProfile[SendLocalListMaxLength].ItemAccessibility == 1)
 	    	 {
-	    	  	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SendLocalListMaxLength].ReadOnly, "FALSE");
+	    	  	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SendLocalListMaxLength].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    	  	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SendLocalListMaxLength].ReadOnly, "TRUE");
+	    	  	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SendLocalListMaxLength].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_SendLocalListMaxLength].Value, (const char *)ShmOCPP16Data->ConfigurationTable.LocalAuthListManagementProfile[SendLocalListMaxLength].ItemData );
@@ -7765,11 +7808,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.ReservationProfile[ReserveConnectorZeroSupported].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ReserveConnectorZeroSupported].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ReserveConnectorZeroSupported].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ReserveConnectorZeroSupported].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ReserveConnectorZeroSupported].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ReserveConnectorZeroSupported].Value,(const char *)ShmOCPP16Data->ConfigurationTable.ReservationProfile[ReserveConnectorZeroSupported].ItemData);
@@ -7784,11 +7827,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[ChargeProfileMaxStackLevel].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargeProfileMaxStackLevel].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargeProfileMaxStackLevel].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargeProfileMaxStackLevel].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargeProfileMaxStackLevel].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargeProfileMaxStackLevel].Value, (const char *)ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[ChargeProfileMaxStackLevel].ItemData);
@@ -7803,11 +7846,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[ChargingScheduleAllowedChargingRateUnit].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleAllowedChargingRateUnit].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleAllowedChargingRateUnit].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleAllowedChargingRateUnit].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleAllowedChargingRateUnit].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleAllowedChargingRateUnit].Value, (const char *)ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[ChargingScheduleAllowedChargingRateUnit].ItemData);
@@ -7822,11 +7865,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[ChargingScheduleMaxPeriods].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleMaxPeriods].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleMaxPeriods].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleMaxPeriods].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleMaxPeriods].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ChargingScheduleMaxPeriods].Value, (const char *)ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[ChargingScheduleMaxPeriods].ItemData);
@@ -7841,11 +7884,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[ConnectorSwitch3to1PhaseSupported].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorSwitch3to1PhaseSupported].ReadOnly, "FALSE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorSwitch3to1PhaseSupported].ReadOnly, "0"/*"FALSE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorSwitch3to1PhaseSupported].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorSwitch3to1PhaseSupported].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_ConnectorSwitch3to1PhaseSupported].Value, (const char *)ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[ConnectorSwitch3to1PhaseSupported].ItemData);
@@ -7860,11 +7903,11 @@ void getKeyValue(char *keyReq)
 
 	    	 if(ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[MaxChargingProfilesInstalled].ItemAccessibility == 1)
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxChargingProfilesInstalled].ReadOnly, "FLASE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxChargingProfilesInstalled].ReadOnly, "0"/*"FLASE"*/);
 	    	 }
 	    	 else
 	    	 {
-	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxChargingProfilesInstalled].ReadOnly, "TRUE");
+	    		 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxChargingProfilesInstalled].ReadOnly, "1"/*"TRUE"*/);
 	    	 }
 
 	    	 strcpy((char *)ShmOCPP16Data->GetConfiguration.ResponseConfigurationKey[GetConfiguration_MaxChargingProfilesInstalled].Value, (const char *)ShmOCPP16Data->ConfigurationTable.SmartChargingProfile[MaxChargingProfilesInstalled].ItemData);