@@ -1222,13 +1222,19 @@ void ChargePoint::update_aligned_data_interval() {
1222
1222
}
1223
1223
}
1224
1224
1225
+ const bool align_timestamps =
1226
+ this ->device_model ->get_optional_value <bool >(ControllerComponentVariables::RoundClockAlignedTimestamps)
1227
+ .value_or (false );
1228
+
1225
1229
// send evseID = 0 values
1226
1230
auto meter_value = get_latest_meter_value_filtered (this ->aligned_data_evse0 .retrieve_processed_values (),
1227
1231
ReadingContextEnum::Sample_Clock,
1228
1232
ControllerComponentVariables::AlignedDataMeasurands);
1229
1233
1230
1234
if (!meter_value.sampledValue .empty ()) {
1231
- meter_value.timestamp = utils::align_timestamp (DateTime{}, interval);
1235
+ if (align_timestamps) {
1236
+ meter_value.timestamp = utils::align_timestamp (DateTime{}, interval);
1237
+ }
1232
1238
this ->meter_values_req (0 , std::vector<ocpp::v201::MeterValue>(1 , meter_value));
1233
1239
}
1234
1240
this ->aligned_data_evse0 .clear_values ();
@@ -1243,7 +1249,10 @@ void ChargePoint::update_aligned_data_interval() {
1243
1249
auto meter_value =
1244
1250
get_latest_meter_value_filtered (evse->get_idle_meter_value (), ReadingContextEnum::Sample_Clock,
1245
1251
ControllerComponentVariables::AlignedDataMeasurands);
1246
- meter_value.timestamp = utils::align_timestamp (DateTime{}, interval);
1252
+
1253
+ if (align_timestamps) {
1254
+ meter_value.timestamp = utils::align_timestamp (DateTime{}, interval);
1255
+ }
1247
1256
1248
1257
if (!meter_value.sampledValue .empty ()) {
1249
1258
// J01.FR.14 this is the only case where we send a MeterValue.req
0 commit comments