Make more settings configurable

This commit is contained in:
Daniel Öster 2025-09-02 19:42:26 +03:00
parent 3e56549498
commit 224c33ec1d
8 changed files with 92 additions and 48 deletions

View file

@ -270,6 +270,18 @@ String settings_processor(const String& var, BatteryEmulatorSettingsStore& setti
return settings.getBool("REMBMSRESET") ? "checked" : "";
}
if (var == "EXTPRECHARGE") {
return settings.getBool("EXTPRECHARGE") ? "checked" : "";
}
if (var == "MAXPRETIME") {
return String(settings.getUInt("MAXPRETIME", 15000));
}
if (var == "NOINVDISC") {
return settings.getBool("NOINVDISC") ? "checked" : "";
}
if (var == "CANFDASCAN") {
return settings.getBool("CANFDASCAN") ? "checked" : "";
}
@ -330,6 +342,10 @@ String settings_processor(const String& var, BatteryEmulatorSettingsStore& setti
return settings.getString("MQTTTOPIC");
}
if (var == "MQTTTIMEOUT") {
return String(settings.getUInt("MQTTTIMEOUT", 2000));
}
if (var == "MQTTOBJIDPREFIX") {
return settings.getString("MQTTOBJIDPREFIX");
}
@ -338,6 +354,10 @@ String settings_processor(const String& var, BatteryEmulatorSettingsStore& setti
return settings.getString("MQTTDEVICENAME");
}
if (var == "MQTTCELLV") {
return settings.getBool("MQTTCELLV") ? "checked" : "";
}
if (var == "HADEVICEID") {
return settings.getString("HADEVICEID");
}
@ -807,6 +827,11 @@ const char* getCANInterfaceName(CAN_Interface interface) {
display: contents;
}
form .if-extprecharge { display: none; }
form[data-extprecharge="true"] .if-extprecharge {
display: contents;
}
form .if-sofar { display: none; }
form[data-inverter="17"] .if-sofar {
display: contents;
@ -1008,6 +1033,19 @@ const char* getCANInterfaceName(CAN_Interface interface) {
<label>Remote BMS reset: </label>
<input type='checkbox' name='REMBMSRESET' value='on' style='margin-left: 0;' %REMBMSRESET% />
<label>External precharge via HIA4V1: </label>
<input type='checkbox' name='EXTPRECHARGE' value='on' style='margin-left: 0;' %EXTPRECHARGE% />
<div class="if-extprecharge">
<label>Precharge, maximum ms before fault: </label>
<input name='MAXPRETIME' type='text' value="%MAXPRETIME%" pattern="^[0-9]+$" />
<label>Normally Open inverter disconnect contactor: </label>
<input type='checkbox' name='NOINVDISC' value='on' style='margin-left: 0;' %NOINVDISC% />
</div>
</div>
<label>Use CanFD as classic CAN: </label>
<input type='checkbox' name='CANFDASCAN' value='on' style='margin-left: 0;' %CANFDASCAN% />
@ -1047,7 +1085,8 @@ const char* getCANInterfaceName(CAN_Interface interface) {
<label>MQTT port: </label><input type='text' name='MQTTPORT' value="%MQTTPORT%" />
<label>MQTT user: </label><input type='text' name='MQTTUSER' value="%MQTTUSER%" />
<label>MQTT password: </label><input type='password' name='MQTTPASSWORD' value="%MQTTPASSWORD%" />
<label>MQTT timeout ms: </label><input name='MQTTTIMEOUT' type='text' value="%MQTTTIMEOUT%" pattern="^[0-9]+$" />
<label>Send all cellvoltages via MQTT: </label><input type='checkbox' name='MQTTCELLV' value='on' style='margin-left: 0;' %MQTTCELLV% />
<label>Customized MQTT topics: </label>
<input type='checkbox' name='MQTTTOPICS' value='on' style='margin-left: 0;' %MQTTTOPICS% />
@ -1057,7 +1096,7 @@ const char* getCANInterfaceName(CAN_Interface interface) {
<label>Prefix for MQTT object ID: </label><input type='text' name='MQTTOBJIDPREFIX' value="%MQTTOBJIDPREFIX%" />
<label>HA device name: </label><input type='text' name='MQTTDEVICENAME' value="%MQTTDEVICENAME%" />
<label>HA device ID: </label><input type='text' name='HADEVICEID' value="%HADEVICEID%" />
</div>
<label>Enable Home Assistant auto discovery: </label>