Fix generic modbus single phase register output

This commit is contained in:
Norbert Richter 2022-11-17 15:14:28 +01:00
parent e578171a16
commit 0cd97d3890
No known key found for this signature in database
GPG Key ID: 6628701A626FA674

View File

@ -750,18 +750,19 @@ void EnergyModbusShow(bool json) {
values[j] = NrgMbsUser[i].data[j];
}
uint32_t resolution = EnergyModbusResolution(NrgMbsUser[i].resolution);
uint32_t single = (!isnan(NrgMbsUser[i].data[1]) && !isnan(NrgMbsUser[i].data[2])) ? 0 : 1;
#ifdef ENERGY_MODBUS_DEBUG_SHOW
AddLog(LOG_LEVEL_DEBUG, PSTR("NRG: resolution %d -> %d"), NrgMbsUser[i].resolution, resolution);
#endif
if (json) {
ResponseAppend_P(PSTR(",\"%s\":%s"), NrgMbsUser[i].json_name, EnergyFormat(value_chr, values, resolution));
ResponseAppend_P(PSTR(",\"%s\":%s"), NrgMbsUser[i].json_name, EnergyFormat(value_chr, values, resolution, single));
#ifdef USE_WEBSERVER
} else {
WSContentSend_PD(PSTR("{s}%s{m}%s %s{e}"),
NrgMbsUser[i].gui_name,
WebEnergyFormat(value_chr, values, resolution),
WebEnergyFormat(value_chr, values, resolution, single),
NrgMbsUser[i].gui_unit);
#endif // USE_WEBSERVER
}