File tree Expand file tree Collapse file tree 3 files changed +25
-0
lines changed Expand file tree Collapse file tree 3 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -229,6 +229,7 @@ void config_changed(String name)
229229 emoncms_updated = true ;
230230 }
231231 ArduinoOcppTask::notifyConfigChanged ();
232+ evse.setSleepForDisable (!config_pause_uses_disabled ());
232233 } else if (name.startsWith (" mqtt_" )) {
233234 mqtt_restart ();
234235 } else if (name.startsWith (" ocpp_" ) || name.startsWith (" tx_start_point" )) {
Original file line number Diff line number Diff line change @@ -315,6 +315,24 @@ bool EvseManager::setTargetState(EvseProperties &target)
315315 return changeMade;
316316}
317317
318+ void EvseManager::setSleepForDisable (bool sleepForDisable)
319+ {
320+ if (_sleepForDisable != sleepForDisable)
321+ {
322+ _sleepForDisable = sleepForDisable;
323+ if (EvseState::Disabled == getActiveState ())
324+ {
325+ if (_sleepForDisable) {
326+ DBUGLN (" EVSE: sleep" );
327+ _monitor.sleep ();
328+ } else {
329+ DBUGLN (" EVSE: disable" );
330+ _monitor.disable ();
331+ }
332+ }
333+ }
334+ }
335+
318336unsigned long EvseManager::loop (MicroTasks::WakeReason reason)
319337{
320338 DBUG (" EVSE manager woke: " );
Original file line number Diff line number Diff line change @@ -459,6 +459,12 @@ class EvseManager : public MicroTasks::Task
459459 void setVehicleRange (int vehicleRange);
460460 void setVehicleEta (int vehicleEta);
461461
462+ // Get/set the 'disabled' mode
463+ bool isSleepForDisable () {
464+ return _sleepForDisable;
465+ }
466+ void setSleepForDisable (bool sleepForDisable);
467+
462468 // Temp until everything uses EvseManager
463469 RapiSender &getSender () {
464470 return _sender;
You can’t perform that action at this time.
0 commit comments