Improve receiver web UI fields and manual

This commit is contained in:
2026-02-02 00:00:55 +01:00
parent a03c2cdb07
commit 5085b9ad3d

View File

@@ -54,7 +54,11 @@ static String render_sender_block(const SenderStatus &status) {
}
s += "<strong>" + String(status.last_data.device_id) + "</strong>";
if (status.has_data && status.last_data.link_valid) {
s += " R:" + String(status.last_data.link_rssi_dbm) + " S:" + String(status.last_data.link_snr_db, 1);
s += " RSSI:" + String(status.last_data.link_rssi_dbm) + " SNR:" + String(status.last_data.link_snr_db, 1);
}
if (status.has_data) {
s += " err_tx:" + String(status.last_data.err_lora_tx);
s += " err_last:" + String(static_cast<uint8_t>(status.last_data.last_error));
}
s += format_faults(idx);
s += "<br>";
@@ -63,7 +67,9 @@ static String render_sender_block(const SenderStatus &status) {
} else {
s += "Energy: " + String(status.last_data.energy_total_kwh, 3) + " kWh<br>";
s += "Power: " + String(status.last_data.total_power_w, 1) + " W<br>";
s += "Battery: " + String(status.last_data.battery_voltage_v, 2) + " V (" + String(status.last_data.battery_percent) + ")";
s += "P1/P2/P3: " + String(status.last_data.phase_power_w[0], 1) + " / " + String(status.last_data.phase_power_w[1], 1) +
" / " + String(status.last_data.phase_power_w[2], 1) + " W<br>";
s += "Battery: " + String(status.last_data.battery_percent) + "% (" + String(status.last_data.battery_voltage_v, 2) + " V)";
}
s += "</div>";
return s;
@@ -175,10 +181,12 @@ static void handle_manual() {
html += "<li>Energy: total kWh since meter start.</li>";
html += "<li>Power: total active power in W.</li>";
html += "<li>P1/P2/P3: phase power in W.</li>";
html += "<li>bat_v: battery voltage (V), bat_pct: estimated percent.</li>";
html += "<li>Battery: percent with voltage in V.</li>";
html += "<li>RSSI/SNR: LoRa link quality from last packet.</li>";
html += "<li>err_tx: LoRa TX error count; err_last: last error code.</li>";
html += "<li>faults m/d/tx: meter read/decode/tx counters.</li>";
html += "<li>err_tx: sender-side LoRa TX error counter.</li>";
html += "<li>err_last: last error code (0=None, 1=MeterRead, 2=Decode, 3=LoraTx).</li>";
html += "<li>faults m/d/tx: receiver-side counters (meter read fails, decode fails, LoRa TX fails).</li>";
html += "<li>faults last: last receiver-side error code (same mapping as err_last).</li>";
html += "</ul>";
html += html_footer();
server.send(200, "text/html", html);