|
@@ -80,7 +80,7 @@ int readMeterLivemeasure(uint8_t meterIndex, Meter_Info *meter_info)
|
|
|
PR("Totalize export energy %d : %.3f V\n", meter_info->totlizeExportEnergy);
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "timestamp") != NULL){
|
|
|
- sprintf(&meter_info->timestamp, "%s", json_object_get_string(json_object_object_get(livemeasure, "timestamp")));
|
|
|
+ sprintf((char*)&meter_info->timestamp, "%s", json_object_get_string(json_object_object_get(livemeasure, "timestamp")));
|
|
|
PR("timestamp : %s\n",meter_info->timestamp);
|
|
|
}
|
|
|
|
|
@@ -190,55 +190,55 @@ int readMeterStatusInfo(uint8_t meterIndex, Meter_Status_Info *meter_status_info
|
|
|
|
|
|
if(json_object_object_get(json_object_object_get(livemeasure, "version"), "applicationFirmwareVersion") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->applicationFirmwareVersion, "%s", json_object_get_string(json_object_object_get
|
|
|
+ sprintf((char*)&meter_status_info->applicationFirmwareVersion, "%s", json_object_get_string(json_object_object_get
|
|
|
(json_object_object_get(livemeasure, "version"), "applicationFirmwareVersion")));
|
|
|
PR("applicationFirmwareVersion : %s\n",meter_status_info->applicationFirmwareVersion);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(json_object_object_get(livemeasure, "version"), "applicationFirmwareAuthTag") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->applicationFirmwareAuthTag, "%s", json_object_get_string(json_object_object_get
|
|
|
+ sprintf((char*)&meter_status_info->applicationFirmwareAuthTag, "%s", json_object_get_string(json_object_object_get
|
|
|
(json_object_object_get(livemeasure, "version"), "applicationFirmwareAuthTag")));
|
|
|
PR("applicationFirmwareAuthTag : %s\n",meter_status_info->applicationFirmwareAuthTag);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(json_object_object_get(livemeasure, "version"), "legalFirmwareVersion") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->legalFirmwareVersion, "%s", json_object_get_string(json_object_object_get
|
|
|
+ sprintf((char*)&meter_status_info->legalFirmwareVersion, "%s", json_object_get_string(json_object_object_get
|
|
|
(json_object_object_get(livemeasure, "version"), "legalFirmwareVersion")));
|
|
|
PR("applicationFirmwareAuthTag : %s\n",meter_status_info->legalFirmwareVersion);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(json_object_object_get(livemeasure, "version"), "legalFirmwareAuthTag") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->legalFirmwareAuthTag, "%s", json_object_get_string(json_object_object_get
|
|
|
+ sprintf((char*)&meter_status_info->legalFirmwareAuthTag, "%s", json_object_get_string(json_object_object_get
|
|
|
(json_object_object_get(livemeasure, "version"), "legalFirmwareAuthTag")));
|
|
|
PR("applicationFirmwareAuthTag : %s\n",meter_status_info->legalFirmwareAuthTag);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(json_object_object_get(livemeasure, "version"), "sensorFirmwareVersion") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->sensorFirmwareVersion, "%s", json_object_get_string(json_object_object_get
|
|
|
+ sprintf((char*)&meter_status_info->sensorFirmwareVersion, "%s", json_object_get_string(json_object_object_get
|
|
|
(json_object_object_get(livemeasure, "version"), "sensorFirmwareVersion")));
|
|
|
PR("applicationFirmwareAuthTag : %s\n",meter_status_info->sensorFirmwareVersion);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(json_object_object_get(livemeasure, "version"), "sensorFirmwareCrc") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->sensorFirmwareCrc, "%s", json_object_get_string(json_object_object_get
|
|
|
+ sprintf((char*)&meter_status_info->sensorFirmwareCrc, "%s", json_object_get_string(json_object_object_get
|
|
|
(json_object_object_get(livemeasure, "version"), "sensorFirmwareCrc")));
|
|
|
PR("applicationFirmwareAuthTag : %s\n",meter_status_info->sensorFirmwareCrc);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "ipAddress") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->ipAddress, "%s", json_object_get_string(json_object_object_get(livemeasure, "ipAddress")));
|
|
|
+ sprintf((char*)&meter_status_info->ipAddress, "%s", json_object_get_string(json_object_object_get(livemeasure, "ipAddress")));
|
|
|
PR("ipAddress : %s\n",meter_status_info->ipAddress);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "meterId") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->meterId, "%s", json_object_get_string(json_object_object_get(livemeasure, "meterId")));
|
|
|
+ sprintf((char*)&meter_status_info->meterId, "%s", json_object_get_string(json_object_object_get(livemeasure, "meterId")));
|
|
|
PR("meterId : %s\n",meter_status_info->meterId);
|
|
|
}
|
|
|
|
|
@@ -323,13 +323,13 @@ int readMeterStatusInfo(uint8_t meterIndex, Meter_Status_Info *meter_status_info
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "publicKey") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->publicKey, "%s", json_object_get_string(json_object_object_get(livemeasure, "publicKey")));
|
|
|
+ sprintf((char*)&meter_status_info->publicKey, "%s", json_object_get_string(json_object_object_get(livemeasure, "publicKey")));
|
|
|
PR("publicKey : %s\n",meter_status_info->publicKey);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "publicKeyOcmf") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_status_info->publicKeyOcmf, "%s", json_object_get_string(json_object_object_get(livemeasure, "publicKeyOcmf")));
|
|
|
+ sprintf((char*)&meter_status_info->publicKeyOcmf, "%s", json_object_get_string(json_object_object_get(livemeasure, "publicKeyOcmf")));
|
|
|
PR("publicKeyOcmf : %s\n",meter_status_info->publicKeyOcmf);
|
|
|
}
|
|
|
|
|
@@ -364,17 +364,18 @@ int startMeterTransaction(uint8_t meterIndex, Meter_transaction_Action *meter_tr
|
|
|
int result = FAIL;
|
|
|
char host[128]="";
|
|
|
uint8_t data[4096];
|
|
|
-
|
|
|
+ uint8_t tmp[4096];
|
|
|
+
|
|
|
json_object *TransactionStartData = json_object_new_object();
|
|
|
json_object_object_add(TransactionStartData, "evseId", json_object_new_string((char*)meter_transaction_Action->head.evseId));
|
|
|
json_object_object_add(TransactionStartData, "transactionId", json_object_new_string((char*)meter_transaction_Action->head.transactionId));
|
|
|
json_object_object_add(TransactionStartData, "clientId", json_object_new_string((char*)meter_transaction_Action->head.clientId));
|
|
|
- json_object_object_add(TransactionStartData, "tariffId", json_object_new_int((char*)meter_transaction_Action->head.tariffId));
|
|
|
- json_object_object_add(TransactionStartData, "cableId", json_object_new_int((char*)meter_transaction_Action->head.cableId));
|
|
|
+ json_object_object_add(TransactionStartData, "tariffId", json_object_new_int(meter_transaction_Action->head.tariffId));
|
|
|
+ json_object_object_add(TransactionStartData, "cableId", json_object_new_int(meter_transaction_Action->head.cableId));
|
|
|
json_object_object_add(TransactionStartData, "userData", json_object_new_string((char*)meter_transaction_Action->head.userData));
|
|
|
-
|
|
|
- TransactionStartData = json_object_to_json_string(TransactionStartData);
|
|
|
-
|
|
|
+
|
|
|
+ sprintf((char*)tmp, "%s", json_object_to_json_string_ext(TransactionStartData, JSON_C_TO_STRING_PLAIN));
|
|
|
+
|
|
|
sprintf(host, "http://192.168.0.%d/v1/legal", (31 + meterIndex));
|
|
|
|
|
|
switch(meterModel)
|
|
@@ -383,7 +384,7 @@ int startMeterTransaction(uint8_t meterIndex, Meter_transaction_Action *meter_tr
|
|
|
default:
|
|
|
|
|
|
|
|
|
- if(httpPost((uint8_t*)host,TransactionStartData,data)!= FAIL)
|
|
|
+ if(httpPost((uint8_t*)host,tmp,data)!= FAIL)
|
|
|
{
|
|
|
json_object *livemeasure;
|
|
|
livemeasure = json_tokener_parse((char*)data);
|
|
@@ -393,8 +394,8 @@ int startMeterTransaction(uint8_t meterIndex, Meter_transaction_Action *meter_tr
|
|
|
PR("PostStartGet %s\n",data);
|
|
|
result = PASS;
|
|
|
}
|
|
|
- json_object_put(livemeasure);
|
|
|
- json_object_put(TransactionStartData);
|
|
|
+ json_object_put(livemeasure);
|
|
|
+ json_object_put(TransactionStartData);
|
|
|
}
|
|
|
|
|
|
break;
|
|
@@ -407,23 +408,23 @@ int startMeterTransaction(uint8_t meterIndex, Meter_transaction_Action *meter_tr
|
|
|
|
|
|
int stopMeterTransaction(uint8_t meterIndex, Meter_transaction_Action *meter_transaction_Action,Meter_transaction_Result *meter_transaction_Result)
|
|
|
{
|
|
|
-
|
|
|
int result = FAIL;
|
|
|
char host[128]="";
|
|
|
uint8_t data[4096];
|
|
|
-
|
|
|
+ uint8_t tmp[4096];
|
|
|
+
|
|
|
sprintf(host, "http://192.168.0.%d/v1/legal?transactionId=%s",(31 + meterIndex), meter_transaction_Action->head.transactionId);
|
|
|
|
|
|
- json_object *TransactionStopData = json_object_new_object();
|
|
|
- json_object_object_add(TransactionStopData, "running", json_object_new_boolean(0));
|
|
|
- TransactionStopData = (uint8_t *) json_object_to_json_string(TransactionStopData);
|
|
|
+ json_object *TransactionStopData = json_object_new_object();
|
|
|
+ json_object_object_add(TransactionStopData, "running", json_object_new_boolean(0));
|
|
|
+ sprintf((char*)tmp, "%s", json_object_to_json_string_ext(TransactionStopData, JSON_C_TO_STRING_PLAIN));
|
|
|
|
|
|
switch(meterModel)
|
|
|
{
|
|
|
case METER_MODEL_LEM_L18005A:
|
|
|
default:
|
|
|
|
|
|
- if(httpPut((uint8_t*)host,TransactionStopData,data)!= FAIL)
|
|
|
+ if(httpPut((uint8_t*)host,tmp,data)!= FAIL)
|
|
|
//if(httpGet(host,data)!= FAIL)
|
|
|
{
|
|
|
json_object *livemeasure;
|
|
@@ -442,20 +443,20 @@ int stopMeterTransaction(uint8_t meterIndex, Meter_transaction_Action *meter_tra
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "transactionId") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_transaction_Result->head.transactionId, "%s", json_object_get_string(json_object_object_get(livemeasure, "transactionId")));
|
|
|
+ sprintf((char*)&meter_transaction_Result->head.transactionId, "%s", json_object_get_string(json_object_object_get(livemeasure, "transactionId")));
|
|
|
PR("transactionId : %s\n",meter_transaction_Result->head.transactionId);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "evseId") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_transaction_Result->head.evseId, "%s", json_object_get_string(json_object_object_get(livemeasure, "evseId")));
|
|
|
+ sprintf((char*)&meter_transaction_Result->head.evseId, "%s", json_object_get_string(json_object_object_get(livemeasure, "evseId")));
|
|
|
PR("evseId : %s\n",meter_transaction_Result->head.evseId);
|
|
|
}
|
|
|
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "clientId") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_transaction_Result->head.clientId, "%s", json_object_get_string(json_object_object_get(livemeasure, "clientId")));
|
|
|
+ sprintf((char*)&meter_transaction_Result->head.clientId, "%s", json_object_get_string(json_object_object_get(livemeasure, "clientId")));
|
|
|
PR("clientId : %s\n",meter_transaction_Result->head.clientId);
|
|
|
}
|
|
|
|
|
@@ -467,20 +468,20 @@ int stopMeterTransaction(uint8_t meterIndex, Meter_transaction_Action *meter_tra
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "userData") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_transaction_Result->head.userData, "%s", json_object_get_string(json_object_object_get(livemeasure, "userData")));
|
|
|
+ sprintf((char*)&meter_transaction_Result->head.userData, "%s", json_object_get_string(json_object_object_get(livemeasure, "userData")));
|
|
|
PR("clientId : %s\n",meter_transaction_Result->head.userData);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(json_object_object_get(livemeasure, "meterValue"), "timestampStart") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_transaction_Result->timestampStart, "%s", json_object_get_string(json_object_object_get
|
|
|
+ sprintf((char*)&meter_transaction_Result->timestampStart, "%s", json_object_get_string(json_object_object_get
|
|
|
(json_object_object_get(livemeasure, "meterValue"), "timestampStart")));
|
|
|
PR("timestampStart : %s\n",meter_transaction_Result->timestampStart);
|
|
|
}
|
|
|
|
|
|
if(json_object_object_get(json_object_object_get(livemeasure, "meterValue"), "timestampStop") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_transaction_Result->timestampStop, "%s", json_object_get_string(json_object_object_get
|
|
|
+ sprintf((char*)&meter_transaction_Result->timestampStop, "%s", json_object_get_string(json_object_object_get
|
|
|
(json_object_object_get(livemeasure, "meterValue"), "timestampStop")));
|
|
|
PR("timestampStop : %s\n",meter_transaction_Result->timestampStop);
|
|
|
}
|
|
@@ -501,7 +502,7 @@ int stopMeterTransaction(uint8_t meterIndex, Meter_transaction_Action *meter_tra
|
|
|
|
|
|
if(json_object_object_get(json_object_object_get(json_object_object_get(livemeasure, "meterValue"), "sampleValue"), "energyUnit") != NULL)
|
|
|
{
|
|
|
- strcpy(meter_transaction_Result->energyUnit, json_object_get_string(json_object_object_get(json_object_object_get(json_object_object_get
|
|
|
+ strcpy((char*)meter_transaction_Result->energyUnit, json_object_get_string(json_object_object_get(json_object_object_get(json_object_object_get
|
|
|
(livemeasure, "meterValue"), "sampleValue"), "energyUnit")));
|
|
|
PR("energyUnit : %s\n",meter_transaction_Result->energyUnit);
|
|
|
}
|
|
@@ -551,7 +552,7 @@ int stopMeterTransaction(uint8_t meterIndex, Meter_transaction_Action *meter_tra
|
|
|
|
|
|
if(json_object_object_get(livemeasure, "signature") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_transaction_Result->signature, "%s", json_object_get_string(json_object_object_get(livemeasure, "signature")));
|
|
|
+ sprintf((char*)&meter_transaction_Result->signature, "%s", json_object_get_string(json_object_object_get(livemeasure, "signature")));
|
|
|
PR("signature : %s\n",meter_transaction_Result->signature);
|
|
|
}
|
|
|
|
|
@@ -591,7 +592,7 @@ int readMeterTransactionOCMF(uint8_t meterIndex, Meter_transaction_Action *meter
|
|
|
{
|
|
|
|
|
|
PR("Get %s\n",data);
|
|
|
- sprintf(&meter_transaction_Action->transactionOCMF, "%s", data);
|
|
|
+ sprintf((char*)&meter_transaction_Action->transactionOCMF, "%s", data);
|
|
|
//printf("GETOCMF %s\n",meter_transaction_Result->transactionOCMF);
|
|
|
json_object *livemeasure;
|
|
|
livemeasure = json_tokener_parse((char*)data);
|
|
@@ -638,7 +639,7 @@ int readMeterLegal(uint8_t meterIndex, Meter_transaction_Action *meter_transacti
|
|
|
{
|
|
|
if(json_object_object_get(livemeasure, "transactionId") != NULL)
|
|
|
{
|
|
|
- sprintf(&meter_transaction_Action->head.transactionId, "%s", json_object_get_string(json_object_object_get(livemeasure, "transactionId")));
|
|
|
+ sprintf((char*)&meter_transaction_Action->head.transactionId, "%s", json_object_get_string(json_object_object_get(livemeasure, "transactionId")));
|
|
|
PR("transactionId : %s\n",meter_transaction_Action->head.transactionId);
|
|
|
}
|
|
|
result = PASS;
|
|
@@ -674,7 +675,7 @@ int configure_meter_time(uint8_t meterIndex)
|
|
|
//{"time": { "utc":"2022-06-29T13:09:26Z" }}
|
|
|
sprintf(host,"http://192.168.0.%d/v1/settings",(31 + meterIndex));
|
|
|
memset(postdata, 0, sizeof(postdata));
|
|
|
- sprintf(postdata,"{\"time\": { \"utc\":\"%d-%d-%dT%02d:%02d:%02dZ\" }}", (utcTime->tm_year+1900), (utcTime->tm_mon+1), (utcTime->tm_mday), (utcTime->tm_hour) % 24, utcTime->tm_min, utcTime->tm_sec);
|
|
|
+ sprintf((char*)postdata,"{\"time\": { \"utc\":\"%d-%d-%dT%02d:%02d:%02dZ\" }}", (utcTime->tm_year+1900), (utcTime->tm_mon+1), (utcTime->tm_mday), (utcTime->tm_hour) % 24, utcTime->tm_min, utcTime->tm_sec);
|
|
|
//sprintf(postdata,"{\"time\": { \"utc\":\"%d-%d-%dT%02d:%02d:%02dZ\" }}", 2021, (utcTime->tm_mon+1), (utcTime->tm_mday), (utcTime->tm_hour) % 24, utcTime->tm_min, utcTime->tm_sec);
|
|
|
|
|
|
PR("Local time and date: %s\n", postdata);
|