Skip to content

Commit a5938d0

Browse files
committed
Fix scale & offset not updated in config after submitting changes #928
1 parent 4ff82d1 commit a5938d0

File tree

4 files changed

+18
-1
lines changed

4 files changed

+18
-1
lines changed

src/app_config.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,7 @@ bool config_deserialize(DynamicJsonDocument &doc)
520520
evse.configureCurrentSensorScale(doc["scale"], doc["offset"]);
521521
config_modified = true;
522522
DBUGLN("scale changed");
523+
evse.getAmmeterSettings();
523524
}
524525
}
525526
#endif

src/evse_man.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,9 @@ class EvseManager : public MicroTasks::Task
430430
long getCurrentSensorOffset() {
431431
return _monitor.getCurrentSensorOffset();
432432
}
433+
void getAmmeterSettings() {
434+
_monitor.getAmmeterSettings();
435+
}
433436

434437
void enableFeature(uint8_t feature, bool enabled, std::function<void(int ret)> callback = NULL) {
435438
_monitor.enableFeature(feature, enabled, callback);

src/evse_monitor.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,6 @@ void EvseMonitor::evseBoot(const char *firmware)
235235
DBUGF("scale = %ld, offset = %ld", scale, offset);
236236
_current_sensor_scale = scale;
237237
_current_sensor_offset = offset;
238-
239238
_boot_ready.ready(EVSE_MONITOR_CURRENT_SENSOR_BOOT_READY);
240239
}
241240
});
@@ -802,3 +801,16 @@ bool EvseMonitor::importTotalEnergy()
802801
});
803802
return true;
804803
}
804+
805+
void EvseMonitor::getAmmeterSettings()
806+
{
807+
_openevse.getAmmeterSettings([this](int ret, long scale, long offset)
808+
{
809+
if(RAPI_RESPONSE_OK == ret)
810+
{
811+
DBUGF("scale = %ld, offset = %ld", scale, offset);
812+
_current_sensor_scale = scale;
813+
_current_sensor_offset = offset;
814+
}
815+
});
816+
}

src/evse_monitor.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ class EvseMonitor : public MicroTasks::Task
276276
return _energyMeter.reset(full, import);
277277
}
278278
bool importTotalEnergy();
279+
void getAmmeterSettings();
279280

280281
bool publishEnergyMeter() {
281282
return _energyMeter.publish();

0 commit comments

Comments
 (0)