@@ -774,7 +774,7 @@ <h2>Inverter TOU Settings</h2>
774774 < tr > < td colspan ="4 " style ="text-align: center; color: #888; "> Loading...</ td > </ tr >
775775 </ tbody >
776776 </ table >
777- < div class ="tou-legend "> < span style =" color: #4ecca3; " > * </ span > Force discharge < span style =" color: #3498db; " > ⚡ </ span > Free energy</ div >
777+ < div class ="tou-legend "> 💰 Force discharge ⚡ Free energy</ div >
778778 </ div >
779779
780780 <!-- Weather Forecast -->
@@ -835,7 +835,12 @@ <h2>Schedule Settings</h2>
835835 < div class ="schedule-grid ">
836836 <!-- Force Discharge Window -->
837837 < div class ="schedule-section ">
838- < div class ="schedule-section-title "> < span style ="color: #4ecca3; "> *</ span > Force Discharge</ div >
838+ < div class ="schedule-section-title ">
839+ < label style ="display: flex; align-items: center; gap: 6px; cursor: pointer; ">
840+ < input type ="checkbox " id ="forceDischargeEnabled " checked >
841+ 💰 Force Discharge
842+ </ label >
843+ </ div >
839844 < form id ="scheduleForm " class ="schedule-form ">
840845 < div class ="schedule-row ">
841846 < div class ="setting-item ">
@@ -849,12 +854,12 @@ <h2>Schedule Settings</h2>
849854 </ div >
850855 < div class ="schedule-row ">
851856 < div class ="setting-item ">
852- < label > Normal SoC </ label >
853- < input type ="number " id ="minSocReserve " min ="5 " max ="100 " value ="20 ">
857+ < label > Min Reserve % </ label >
858+ < input type ="number " id ="minSocReserve " min ="5 " max ="100 " value ="20 " title =" Battery reserve - system stops using battery at this level " >
854859 </ div >
855860 < div class ="setting-item ">
856- < label > Discharge SoC </ label >
857- < input type ="number " id ="cutoffSoc " min ="5 " max ="100 " value ="50 ">
861+ < label > Stop Discharge % </ label >
862+ < input type ="number " id ="cutoffSoc " min ="5 " max ="100 " value ="50 " title =" Force discharge stops when battery reaches this level " >
858863 </ div >
859864 </ div >
860865 < button type ="submit " class ="btn btn-primary btn-sm "> Save</ button >
@@ -865,7 +870,7 @@ <h2>Schedule Settings</h2>
865870 < div class ="schedule-section-title ">
866871 < label style ="display: flex; align-items: center; gap: 6px; cursor: pointer; ">
867872 < input type ="checkbox " id ="freeEnergyEnabled ">
868- < span style =" color: #3498db; " > ⚡ </ span > Free Energy Charge
873+ ⚡ Free Energy Charge
869874 </ label >
870875 </ div >
871876 < form id ="freeEnergySettingsForm " class ="schedule-form ">
@@ -1217,7 +1222,7 @@ <h2>Schedule Settings</h2>
12171222 let timeDisplay = `${ startTime } - ${ endTime } ` ;
12181223 let rowClass = '' ;
12191224 if ( isDischargeWindow ) {
1220- timeDisplay = `* ${ startTime } - ${ endTime } ` ;
1225+ timeDisplay = `💰 ${ startTime } - ${ endTime } ` ;
12211226 rowClass = 'tou-target' ;
12221227 } else if ( isFreeEnergyWindow ) {
12231228 timeDisplay = `⚡ ${ startTime } - ${ endTime } ` ;
@@ -1336,6 +1341,7 @@ <h2>Schedule Settings</h2>
13361341
13371342 // Update form only if user is not actively editing
13381343 if ( ! isEditingSettings ) {
1344+ document . getElementById ( 'forceDischargeEnabled' ) . checked = schedule . enabled !== false ;
13391345 document . getElementById ( 'startTime' ) . value = schedule . force_discharge_start || '17:30' ;
13401346 document . getElementById ( 'endTime' ) . value = schedule . force_discharge_end || '19:30' ;
13411347 document . getElementById ( 'minSocReserve' ) . value = schedule . min_soc_reserve || 20 ;
@@ -1377,6 +1383,7 @@ <h2>Schedule Settings</h2>
13771383 document . getElementById ( 'scheduleForm' ) . addEventListener ( 'submit' , async ( e ) => {
13781384 e . preventDefault ( ) ;
13791385 const schedule = {
1386+ enabled : document . getElementById ( 'forceDischargeEnabled' ) . checked ,
13801387 force_discharge_start : document . getElementById ( 'startTime' ) . value ,
13811388 force_discharge_end : document . getElementById ( 'endTime' ) . value ,
13821389 min_soc_reserve : parseInt ( document . getElementById ( 'minSocReserve' ) . value ) ,
0 commit comments