Skip to content

Commit

Permalink
Fix scale & offset not updated in config after submitting changes Ope…
Browse files Browse the repository at this point in the history
  • Loading branch information
KipK committed Dec 1, 2024
1 parent 4ff82d1 commit 70d83f9
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/app_config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -520,6 +520,7 @@ bool config_deserialize(DynamicJsonDocument &doc)
evse.configureCurrentSensorScale(doc["scale"], doc["offset"]);
config_modified = true;
DBUGLN("scale changed");
evse.getAmmeterSettings();
}
}
#endif
Expand Down
3 changes: 3 additions & 0 deletions src/evse_man.h
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,9 @@ class EvseManager : public MicroTasks::Task
long getCurrentSensorOffset() {
return _monitor.getCurrentSensorOffset();
}
void getAmmeterSettings() {
_monitor.getAmmeterSettings();
}

void enableFeature(uint8_t feature, bool enabled, std::function<void(int ret)> callback = NULL) {
_monitor.enableFeature(feature, enabled, callback);
Expand Down
16 changes: 14 additions & 2 deletions src/evse_monitor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -235,9 +235,8 @@ void EvseMonitor::evseBoot(const char *firmware)
DBUGF("scale = %ld, offset = %ld", scale, offset);
_current_sensor_scale = scale;
_current_sensor_offset = offset;

_boot_ready.ready(EVSE_MONITOR_CURRENT_SENSOR_BOOT_READY);
}
_boot_ready.ready(EVSE_MONITOR_CURRENT_SENSOR_BOOT_READY);
});

_openevse.getSerial([this](int ret, const char *serial)
Expand Down Expand Up @@ -802,3 +801,16 @@ bool EvseMonitor::importTotalEnergy()
});
return true;
}

void EvseMonitor::getAmmeterSettings()
{
_openevse.getAmmeterSettings([this](int ret, long scale, long offset)
{
if(RAPI_RESPONSE_OK == ret)
{
DBUGF("scale = %ld, offset = %ld", scale, offset);
_current_sensor_scale = scale;
_current_sensor_offset = offset;
}
});
}
1 change: 1 addition & 0 deletions src/evse_monitor.h
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@ class EvseMonitor : public MicroTasks::Task
return _energyMeter.reset(full, import);
}
bool importTotalEnergy();
void getAmmeterSettings();

bool publishEnergyMeter() {
return _energyMeter.publish();
Expand Down

0 comments on commit 70d83f9

Please sign in to comment.