@@ -122,6 +122,7 @@ EvseManager::EvseManager(Stream &port, EventLog &eventLog) :
122122 _evseStateListener(this ),
123123 _evseBootListener(this ),
124124 _sessionCompleteListener(this ),
125+ _settingsChangedListener(this ),
125126 _targetProperties(EvseState::Active),
126127 _hasClaims(false ),
127128 _sleepForDisable(true ),
@@ -234,6 +235,7 @@ void EvseManager::setup()
234235 _monitor.onBootReady (&_evseBootListener);
235236 _monitor.onStateChange (&_evseStateListener);
236237 _monitor.onSessionComplete (&_sessionCompleteListener);
238+ _monitor.onSettingsChanged (&_settingsChangedListener);
237239}
238240
239241bool EvseManager::setTargetState (EvseProperties &target)
@@ -370,6 +372,18 @@ unsigned long EvseManager::loop(MicroTasks::WakeReason reason)
370372 _monitor.clearEnergyMeterSession ();
371373 }
372374
375+ DBUGVAR (_settingsChangedListener.IsTriggered ());
376+ if (_settingsChangedListener.IsTriggered ())
377+ {
378+ // Settings have changed, re-evaluate claims
379+ _evaluateClaims = true ;
380+
381+ DBUGVAR (_monitor.getPilot ());
382+ DBUGVAR (_monitor.getMinCurrent ());
383+ DBUGVAR (_monitor.getMaxConfiguredCurrent ());
384+ DBUGVAR (_monitor.getMaxHardwareCurrent ());
385+ }
386+
373387 DBUGVAR (_evaluateClaims);
374388 if (_evaluateClaims)
375389 {
@@ -594,11 +608,13 @@ void EvseManager::setVehicleEta(int vehicleEta)
594608void EvseManager::setMaxConfiguredCurrent (long amps)
595609{
596610 _monitor.setMaxConfiguredCurrent (amps);
597- DBUGF (" Max configured current set to %ld" , _monitor.getMaxConfiguredCurrent ());
598- // Setting the Max Current will update the pilot as well, but in any case we may
599- // need to change the level so re-evaluate the claims
600- _evaluateClaims = true ;
601- MicroTask.wakeTask (this );
611+ DBUGF (" Max configured current set to %ld (%ld)" , _monitor.getMaxConfiguredCurrent (), amps);
612+ }
613+
614+ void EvseManager::setMaxHardwareCurrent (long amps)
615+ {
616+ _monitor.setMaxHardwareCurrent (amps);
617+ DBUGF (" Max hardware current set to actual: %ld, requested: %ld" , _monitor.getMaxHardwareCurrent (), amps);
602618}
603619
604620bool EvseManager::isRapiCommandBlocked (String rapi)
0 commit comments