diff --git a/hardware/firmware/src/main.cpp b/hardware/firmware/src/main.cpp index 7b2a991..01f038d 100644 --- a/hardware/firmware/src/main.cpp +++ b/hardware/firmware/src/main.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -1201,6 +1202,20 @@ void setup() { return s_meter_data_ready ? s_meter_b.powerFactor : 0.0f; }, "Power.Factor", nullptr, nullptr, nullptr, 2); + // MicroOcpp defaults MeterValuesSampledData to Energy + Power only. + // Expand sampled measurands so CSMS can receive voltage/current/PF/frequency/temperature. + static const char *kMeterValuesSampledData = + "Energy.Active.Import.Register,Power.Active.Import,Voltage,Current.Import,Power.Factor,Frequency,Temperature"; + if (auto *cfg = MicroOcpp::getConfigurationPublic("MeterValuesSampledData")) + { + cfg->setString(kMeterValuesSampledData); + } + if (auto *cfg = MicroOcpp::getConfigurationPublic("MeterValuesAlignedData")) + { + cfg->setString(kMeterValuesSampledData); + } + MicroOcpp::configuration_save(); + // Custom RemoteStartTransaction policy: // accept only when target connector is idle + operative + plugged. setRequestHandler(