@@ -14,17 +14,22 @@ static const char CONTENT_HOME_HTML[] PROGMEM =
1414 " connected: openevse.isConnected() && !openevse.isCharging(),\n"
1515 " charging: openevse.isCharging(),\n"
1616 " sleeping: openevse.isPaused() && 0 == status.vehicle(),\n"
17- " sleeping_connected: openevse.isPaused() && 1 == status.vehicle() }\" class=\"box box-full left\"> <h2 class=\"left\">Session Status</h2> <h2 class=\"right\" data-bind=\"text: status.estate\"></h2> <table> <tr> <th>Current</th> <th>Energy</th> <th>Temp</th> <th>Elapsed</th> </tr> <tr> <td><span data-bind=\"text: scaleString(status.amp(), 1000, 2) + ' A'\"></span></td> <td><span data-bind=\"text: scaleString(status.wattsec(), 3600000, 2) + ' kWh'\"></span></td> <td><span data-bind=\"text: scaleString(status.temp(), 10, 1) + ' °C'\"></span></td> <td><span data-bind=\"text: openevse.time.elapsed\"></span></td> </tr> </table> <div data-bind=\"visible: ecoMode() && isEcoModeAvailable()\"> <br> <span data-bind=\"visible: haveSolar\"><b>Solar:</b></span> <span data-bind=\"visible: haveGridIe\"><b>Grid Import/Export:</b></span> <span data-bind=\"text: haveGridIe() ? status.grid_ie() : status.solar()\"></span>W - <span data-bind=\"text: formatUpdate(openevse.time.divert_update()), css: updateClass(openevse.time.divert_update())\"></span> | <span data-bind=\"visible: openevse.isReady()\"><b>Vehicle not connected</b></span> <span data-bind=\"visible: openevse.isSleeping() || (openevse.isConnected() && !openevse.isCharging())\"><b>Waiting for solar</b></span> <span data-bind=\"visible: openevse.isCharging()\"><b>Charging from solar</b></span> <span data-bind=\"visible: openevse.isCharging()\"> | <b>Charge rate:</b> <span data-bind=\"text: status.charge_rate\"></span>A </span> <span data-bind=\"visible: advancedMode\"> <br> <b>Voltage:</b> <span data-bind=\"text: parseFloat(status.voltage()).toFixed(1)\"></span>V <span data-bind=\"visible: status.available_current() !== false\">| <b>Available Current:</b> <span data-bind=\"text: parseFloat(status.available_current()).toFixed(2)\"></span>A</span> <span data-bind=\"visible: status.smoothed_available_current() !== false\">| <b>Smoothed Current:</b> <span data-bind=\"text: parseFloat(status.smoothed_available_current()).toFixed(2)\"></span>A</span> </span> </div> </div> <div class=\"box380 left\" data-bind=\"visible: status.evse_connected\"> <h2>Charge Options</h2> <div data-bind=\"visible: isEcoModeAvailable\"> <span data-bind=\"css: {selected: !ecoMode() }\">Normal (fast)</span> <label class=\"switch\"> <input type=\"checkbox\" data-bind=\"checked: ecoMode\"> <div class=\"slider round\"></div> </label> <span data-bind=\"css: {selected: ecoMode }\">Eco (PV divert)</span><br> </div> <p data-bind=\"with: openevse, visible: !openevse.isError() && !ecoMode()\"> <button data-bind=\"click: setStatus.bind($data, 'enable'), visible: isPaused()\">Start</button> <button data-bind=\"click: setStatus.bind($data, 'pause'), visible: !isPaused()\">Pause</button> </p> <span data-bind=\"with: openevse, visible: !openevse.isError() && !ecoMode()\"> <hr \\> <p> <b>Time limit:</b><br \\> <select data-bind=\"options: timeLimits,\n"
18- " optionsText: 'name',\n"
19- " optionsValue: 'value',\n"
20- " value: timeLimit,\n"
21- " enable: !updatingTimeLimit() && isConnected(),\n"
22- " css: { saved: savedTimeLimit }\"></select> </p> <p> <b>Energy limit:</b><br \\> <select type=\"text\" data-bind=\"options: chargeLimits,\n"
23- " optionsText: 'name',\n"
24- " optionsValue: 'value',\n"
25- " value: chargeLimit,\n"
26- " enable: !updatingChargeLimit() && isConnected(),\n"
27- " css: { saved: savedChargeLimit }\"></select> </p> </span> <hr> <br> <div data-bind=\"with: schedule\"> <b>Timer:</b><br> Start: <input type=\"time\" data-bind=\"value: delayTimerStart, disable: $root.openevse.isError\"> Stop: <input type=\"time\" data-bind=\"value: delayTimerStop, disable: $root.openevse.isError\"><br> <br> <button data-bind=\"text: delayTimerEnabled() ? 'Update' : 'Set',\n"
17+ " sleeping_connected: openevse.isPaused() && 1 == status.vehicle() }\" class=\"box box-full left\"> <h2 class=\"left\">Session Status</h2> <h2 class=\"right\" data-bind=\"text: status.estate\"></h2> <table> <tr> <th>Current</th> <th>Energy</th> <th>Temp</th> <th>Elapsed</th> </tr> <tr> <td><span data-bind=\"text: scaleString(status.amp(), 1000, 2) + ' A'\"></span></td> <td><span data-bind=\"text: scaleString(status.wattsec(), 3600000, 2) + ' kWh'\"></span></td> <td><span data-bind=\"text: scaleString(status.temp(), 10, 1) + ' °C'\"></span></td> <td><span data-bind=\"text: openevse.time.elapsed\"></span></td> </tr> </table> <div data-bind=\"visible: ecoMode() && isEcoModeAvailable()\"> <br> <span data-bind=\"visible: haveSolar\"><b>Solar:</b></span> <span data-bind=\"visible: haveGridIe\"><b>Grid Import/Export:</b></span> <span data-bind=\"text: haveGridIe() ? status.grid_ie() : status.solar()\"></span>W - <span data-bind=\"text: formatUpdate(openevse.time.divert_update()), css: updateClass(openevse.time.divert_update())\"></span> | <span data-bind=\"visible: openevse.isReady()\"><b>Vehicle not connected</b></span> <span data-bind=\"visible: openevse.isSleeping() || (openevse.isConnected() && !openevse.isCharging())\"><b>Waiting for solar</b></span> <span data-bind=\"visible: openevse.isCharging()\"><b>Charging from solar</b></span> <span data-bind=\"visible: openevse.isCharging()\"> | <b>Charge rate:</b> <span data-bind=\"text: status.charge_rate\"></span>A </span> <span data-bind=\"visible: advancedMode\"> <br> <b>Voltage:</b> <span data-bind=\"text: parseFloat(status.voltage()).toFixed(1)\"></span>V <span data-bind=\"visible: status.available_current() !== false\">| <b>Available Current:</b> <span data-bind=\"text: parseFloat(status.available_current()).toFixed(2)\"></span>A</span> <span data-bind=\"visible: status.smoothed_available_current() !== false\">| <b>Smoothed Current:</b> <span data-bind=\"text: parseFloat(status.smoothed_available_current()).toFixed(2)\"></span>A</span> </span> </div> </div> <div class=\"box380 left\" data-bind=\"visible: status.evse_connected\"> <h2>Charge Options</h2> <div data-bind=\"visible: isEcoModeAvailable\"> <span data-bind=\"css: {selected: !ecoMode() }\">Normal (fast)</span> <label class=\"switch\"> <input type=\"checkbox\" data-bind=\"checked: ecoMode\"> <div class=\"slider round\"></div> </label> <span data-bind=\"css: {selected: ecoMode }\">Eco (PV divert)</span><br> </div> <p data-bind=\"visible: !openevse.isError() && !ecoMode()\"> </p><h3 data-bind=\"visible: status.manual_override\">Manual Override</h3> <button data-bind=\"click: setOverride,\n"
18+ " enable: !setOverrideFetching(),\n"
19+ " visible: !status.manual_override(),\n"
20+ " text: openevse.isPaused() ? 'Stop' : 'Pause'\">Stop</button> <button data-bind=\"click: clearOverride,\n"
21+ " enable: !clearOverrideFetching(),\n"
22+ " visible: status.manual_override()\">Clear</button> <p></p> <span data-bind=\"with: openevse, visible: !openevse.isError() && !ecoMode()\"> <hr \\> <p> <b>Time limit:</b><br \\> <select data-bind=\"options: timeLimits,\n"
23+ " optionsText: 'name',\n"
24+ " optionsValue: 'value',\n"
25+ " value: timeLimit,\n"
26+ " enable: !updatingTimeLimit() && isConnected(),\n"
27+ " css: { saved: savedTimeLimit }\"></select> </p> <p> <b>Energy limit:</b><br \\> <select data-bind=\"options: chargeLimits,\n"
28+ " optionsText: 'name',\n"
29+ " optionsValue: 'value',\n"
30+ " value: chargeLimit,\n"
31+ " enable: !updatingChargeLimit() && isConnected(),\n"
32+ " css: { saved: savedChargeLimit }\"></select> </p> </span> <hr> <br> <div data-bind=\"with: schedule\"> <b>Timer:</b><br> Start: <input type=\"time\" data-bind=\"value: delayTimerStart, disable: $root.openevse.isError\"> Stop: <input type=\"time\" data-bind=\"value: delayTimerStop, disable: $root.openevse.isError\"><br> <br> <button data-bind=\"text: delayTimerEnabled() ? 'Update' : 'Set',\n"
2833 " enable: !updatingDelayTimer() &&\n"
2934 " delayTimerValid() &&\n"
3035 " !$root.openevse.isError(),\n"
0 commit comments