diff --git a/src/scheduler.cpp b/src/scheduler.cpp index ff309f51..c73f9043 100644 --- a/src/scheduler.cpp +++ b/src/scheduler.cpp @@ -226,7 +226,12 @@ unsigned long Scheduler::loop(MicroTasks::WakeReason reason) if(EvseState::Active == currentEvent.getState()) { priority = EvseManager_Priority_Timer; - properties.setChargeCurrent(_evse->getMaxHardwareCurrent()); + uint8_t evseMaxCurrent = _evse->getMaxHardwareCurrent(); + if (!evseMaxCurrent) { + // evse not ready, retry in 1 sec + return 1000; + } + properties.setChargeCurrent(evseMaxCurrent); } _evse->claim(EvseClient_OpenEVSE_Schedule, priority, properties); } else {