diff --git a/tasmota/include/i18n.h b/tasmota/include/i18n.h
index c3df48348..4e5d907f5 100644
--- a/tasmota/include/i18n.h
+++ b/tasmota/include/i18n.h
@@ -908,10 +908,6 @@ const char HTTP_SNS_MOISTURE[] PROGMEM = "{s}%s " D_MOISTURE "{
const char HTTP_SNS_RANGE_CHR[] PROGMEM = "{s}%s " D_RANGE "{m}%s" "{e}";
const char HTTP_SNS_RANGE[] PROGMEM = "{s}%s " D_RANGE "{m}%d" "{e}";
const char HTTP_SNS_HALL_EFFECT[] PROGMEM = "{s}%s " D_HALL_EFFECT "{m}%d" "{e}";
-const char HTTP_SNS_VOLTAGE[] PROGMEM = "{s}" D_VOLTAGE "{m}%s " D_UNIT_VOLT "{e}";
-const char HTTP_SNS_CURRENT[] PROGMEM = "{s}" D_CURRENT "{m}%s " D_UNIT_AMPERE "{e}";
-const char HTTP_SNS_POWER[] PROGMEM = "{s}" D_POWERUSAGE_ACTIVE "{m}%s " D_UNIT_WATT "{e}";
-const char HTTP_SNS_ENERGY_TOTAL[] PROGMEM = "{s}" D_ENERGY_TOTAL "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
const char HTTP_SNS_PH[] PROGMEM = "{s}%s " D_PH "{m}%s " "{e}";
const char HTTP_SNS_MQ[] PROGMEM = "{s}" D_MQ"-%s" "{m}%s " D_UNIT_PARTS_PER_MILLION "{e}";
const char HTTP_SNS_ORP[] PROGMEM = "{s}%s " D_ORP "{m}%s " D_UNIT_MILLIVOLT "{e}";
@@ -927,6 +923,27 @@ const char HTTP_SNS_MILLILITERS[] PROGMEM = "{s}%s " D_VOLUME "{
const char HTTP_SNS_GAS[] PROGMEM = "{s}%s " D_GAS "{m}%d " D_UNIT_PERCENT "LEL{e}";
const char HTTP_SNS_SOC[] PROGMEM = "{s}%s " D_SOC "{m}%d " D_UNIT_PERCENT "{e}";
const char HTTP_SNS_SOH[] PROGMEM = "{s}%s " D_SOH "{m}%d " D_UNIT_PERCENT "{e}";
+
+const char HTTP_SNS_VOLTAGE[] PROGMEM = "{s}" D_VOLTAGE "{m}%s " D_UNIT_VOLT "{e}";
+const char HTTP_SNS_CURRENT[] PROGMEM = "{s}" D_CURRENT "{m}%s " D_UNIT_AMPERE "{e}";
+const char HTTP_SNS_CURRENT_N[] PROGMEM = "{s}" D_CURRENT_NEUTRAL "{m}%s " D_UNIT_AMPERE "{e}";
+const char HTTP_SNS_POWER[] PROGMEM = "{s}" D_POWERUSAGE_ACTIVE "{m}%s " D_UNIT_WATT "{e}";
+const char HTTP_SNS_IMPORT_POWER[] PROGMEM = "{s}" D_IMPORT_POWER "{m}%s " D_UNIT_WATT "{e}";
+const char HTTP_SNS_EXPORT_POWER[] PROGMEM = "{s}" D_EXPORT_POWER "{m}%s " D_UNIT_WATT "{e}";
+const char HTTP_SNS_MAX_POWER[] PROGMEM = "{s}" D_MAX_POWER "{m}%s " D_UNIT_WATT "{e}";
+const char HTTP_SNS_POWERUSAGE_APPARENT[] PROGMEM = "{s}" D_POWERUSAGE_APPARENT "{m}%s " D_UNIT_VA "{e}";
+const char HTTP_SNS_POWERUSAGE_REACTIVE[] PROGMEM = "{s}" D_POWERUSAGE_REACTIVE "{m}%s " D_UNIT_VAR "{e}";
+const char HTTP_SNS_POWER_FACTOR[] PROGMEM = "{s}" D_POWER_FACTOR "{m}%s {e}";
+const char HTTP_SNS_ENERGY_TODAY[] PROGMEM = "{s}" D_ENERGY_TODAY "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
+const char HTTP_SNS_ENERGY_YESTERDAY[] PROGMEM = "{s}" D_ENERGY_YESTERDAY "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
+const char HTTP_SNS_ENERGY_TOTAL[] PROGMEM = "{s}" D_ENERGY_TOTAL "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
+const char HTTP_SNS_EXPORT_ACTIVE[] PROGMEM = "{s}" D_EXPORT_ACTIVE "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
+const char HTTP_SNS_TOTAL_ACTIVE[] PROGMEM = "{s}" D_TOTAL_ACTIVE "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
+const char HTTP_SNS_RSTTBL_TOTAL_ACTIVE[] PROGMEM = "{s}" D_RESETTABLE_TOTAL_ACTIVE "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
+const char HTTP_SNS_IMPORT_REACTIVE[] PROGMEM = "{s}" D_IMPORT_REACTIVE "{m}%s " D_UNIT_KWARH "{e}";
+const char HTTP_SNS_EXPORT_REACTIVE[] PROGMEM = "{s}" D_EXPORT_REACTIVE "{m}%s " D_UNIT_KWARH "{e}";
+const char HTTP_SNS_TOTAL_REACTIVE[] PROGMEM = "{s}" D_TOTAL_REACTIVE "{m}%s " D_UNIT_KWARH "{e}";
+const char HTTP_SNS_PHASE_ANGLE[] PROGMEM = "{s}" D_PHASE_ANGLE "{m}%s " D_UNIT_ANGLE "{e}";
#endif // USE_WEBSERVER
#endif // _I18N_H_
diff --git a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino
index 44959701c..c9866ef67 100644
--- a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino
+++ b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino
@@ -1187,23 +1187,6 @@ void EnergySnsInit(void)
}
}
-#ifdef USE_WEBSERVER
-const char HTTP_ENERGY_POWERUSAGE_APPARENT[] PROGMEM =
- "{s}" D_POWERUSAGE_APPARENT "{m}%s " D_UNIT_VA "{e}";
-const char HTTP_ENERGY_POWERUSAGE_REACTIVE[] PROGMEM =
- "{s}" D_POWERUSAGE_REACTIVE "{m}%s " D_UNIT_VAR "{e}";
-const char HTTP_ENERGY_POWER_FACTOR[] PROGMEM =
- "{s}" D_POWER_FACTOR "{m}%s{e}";
-const char HTTP_ENERGY_TODAY[] PROGMEM =
- "{s}" D_ENERGY_TODAY "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
-const char HTTP_ENERGY_YESTERDAY[] PROGMEM =
- "{s}" D_ENERGY_YESTERDAY "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
-const char HTTP_ENERGY_TOTAL[] PROGMEM =
- "{s}" D_ENERGY_TOTAL "{m}%s " D_UNIT_KILOWATTHOUR "{e}"; // {s} =
, {m} = | , {e} = |
-const char HTTP_ENERGY_EXPORT_ACTIVE[] PROGMEM =
- "{s}" D_EXPORT_ACTIVE "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
-#endif // USE_WEBSERVER
-
void EnergyShow(bool json) {
bool voltage_common = (Settings->flag6.no_voltage_common) ? false : Energy->voltage_common;
bool frequency_common = (Settings->flag6.no_voltage_common) ? false : Energy->frequency_common;
@@ -1436,17 +1419,17 @@ void EnergyShow(bool json) {
WSContentSend_PD(HTTP_SNS_POWER, WebEnergyFmt(Energy->active_power, Settings->flag2.wattage_resolution));
if (!Energy->type_dc) {
if (Energy->current_available && Energy->voltage_available) {
- WSContentSend_PD(HTTP_ENERGY_POWERUSAGE_APPARENT, WebEnergyFmt(apparent_power, Settings->flag2.wattage_resolution));
- WSContentSend_PD(HTTP_ENERGY_POWERUSAGE_REACTIVE, WebEnergyFmt(reactive_power, Settings->flag2.wattage_resolution));
- WSContentSend_PD(HTTP_ENERGY_POWER_FACTOR, WebEnergyFmt(power_factor, 2));
+ WSContentSend_PD(HTTP_SNS_POWERUSAGE_APPARENT, WebEnergyFmt(apparent_power, Settings->flag2.wattage_resolution));
+ WSContentSend_PD(HTTP_SNS_POWERUSAGE_REACTIVE, WebEnergyFmt(reactive_power, Settings->flag2.wattage_resolution));
+ WSContentSend_PD(HTTP_SNS_POWER_FACTOR, WebEnergyFmt(power_factor, 2));
}
}
- WSContentSend_PD(HTTP_ENERGY_TODAY, WebEnergyFmt(Energy->daily, Settings->flag2.energy_resolution, 2));
- WSContentSend_PD(HTTP_ENERGY_YESTERDAY, WebEnergyFmt(energy_yesterday_ph, Settings->flag2.energy_resolution, 2));
- WSContentSend_PD(HTTP_ENERGY_TOTAL, WebEnergyFmt(Energy->total, Settings->flag2.energy_resolution, 2));
+ WSContentSend_PD(HTTP_SNS_ENERGY_TODAY, WebEnergyFmt(Energy->daily, Settings->flag2.energy_resolution, 2));
+ WSContentSend_PD(HTTP_SNS_ENERGY_YESTERDAY, WebEnergyFmt(energy_yesterday_ph, Settings->flag2.energy_resolution, 2));
+ WSContentSend_PD(HTTP_SNS_ENERGY_TOTAL, WebEnergyFmt(Energy->total, Settings->flag2.energy_resolution, 2));
if (!isnan(Energy->export_active[0])) {
uint32_t single = (!isnan(Energy->export_active[1]) && !isnan(Energy->export_active[2])) ? 2 : 1;
- WSContentSend_PD(HTTP_ENERGY_EXPORT_ACTIVE, WebEnergyFmt(Energy->export_active, Settings->flag2.energy_resolution, single));
+ WSContentSend_PD(HTTP_SNS_EXPORT_ACTIVE, WebEnergyFmt(Energy->export_active, Settings->flag2.energy_resolution, single));
}
#ifdef USE_ENERGY_COLUMN_GUI
XnrgCall(FUNC_WEB_COL_SENSOR);
diff --git a/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino b/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino
index 58d08fa58..b67e347e7 100644
--- a/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino
+++ b/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino
@@ -1421,23 +1421,6 @@ void EnergySnsInit(void) {
}
}
-#ifdef USE_WEBSERVER
-const char HTTP_ENERGY_POWERUSAGE_APPARENT[] PROGMEM =
- "{s}" D_POWERUSAGE_APPARENT "{m}%s " D_UNIT_VA "{e}";
-const char HTTP_ENERGY_POWERUSAGE_REACTIVE[] PROGMEM =
- "{s}" D_POWERUSAGE_REACTIVE "{m}%s " D_UNIT_VAR "{e}";
-const char HTTP_ENERGY_POWER_FACTOR[] PROGMEM =
- "{s}" D_POWER_FACTOR "{m}%s{e}";
-const char HTTP_ENERGY_TODAY[] PROGMEM =
- "{s}" D_ENERGY_TODAY "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
-const char HTTP_ENERGY_YESTERDAY[] PROGMEM =
- "{s}" D_ENERGY_YESTERDAY "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
-const char HTTP_ENERGY_TOTAL[] PROGMEM =
- "{s}" D_ENERGY_TOTAL "{m}%s " D_UNIT_KILOWATTHOUR "{e}"; // {s} = , {m} = | , {e} = |
-const char HTTP_ENERGY_EXPORT_ACTIVE[] PROGMEM =
- "{s}" D_EXPORT_ACTIVE "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
-#endif // USE_WEBSERVER
-
void EnergyShow(bool json) {
bool voltage_common = (Settings->flag6.no_voltage_common) ? false : Energy->voltage_common;
bool frequency_common = (Settings->flag6.no_voltage_common) ? false : Energy->frequency_common;
@@ -1716,17 +1699,17 @@ void EnergyShow(bool json) {
WSContentSend_PD(HTTP_SNS_POWER, WebEnergyFmt(Energy->active_power, Settings->flag2.wattage_resolution));
if (!Energy->type_dc) {
if (Energy->current_available && Energy->voltage_available) {
- WSContentSend_PD(HTTP_ENERGY_POWERUSAGE_APPARENT, WebEnergyFmt(apparent_power, Settings->flag2.wattage_resolution));
- WSContentSend_PD(HTTP_ENERGY_POWERUSAGE_REACTIVE, WebEnergyFmt(reactive_power, Settings->flag2.wattage_resolution));
- WSContentSend_PD(HTTP_ENERGY_POWER_FACTOR, WebEnergyFmt(power_factor, 2));
+ WSContentSend_PD(HTTP_SNS_POWERUSAGE_APPARENT, WebEnergyFmt(apparent_power, Settings->flag2.wattage_resolution));
+ WSContentSend_PD(HTTP_SNS_POWERUSAGE_REACTIVE, WebEnergyFmt(reactive_power, Settings->flag2.wattage_resolution));
+ WSContentSend_PD(HTTP_SNS_POWER_FACTOR, WebEnergyFmt(power_factor, 2));
}
}
- WSContentSend_PD(HTTP_ENERGY_TODAY, WebEnergyFmt(Energy->daily_kWh, Settings->flag2.energy_resolution, 2));
- WSContentSend_PD(HTTP_ENERGY_YESTERDAY, WebEnergyFmt(energy_yesterday_kWh, Settings->flag2.energy_resolution, 2));
- WSContentSend_PD(HTTP_ENERGY_TOTAL, WebEnergyFmt(Energy->total, Settings->flag2.energy_resolution, 2));
+ WSContentSend_PD(HTTP_SNS_ENERGY_TODAY, WebEnergyFmt(Energy->daily_kWh, Settings->flag2.energy_resolution, 2));
+ WSContentSend_PD(HTTP_SNS_ENERGY_YESTERDAY, WebEnergyFmt(energy_yesterday_kWh, Settings->flag2.energy_resolution, 2));
+ WSContentSend_PD(HTTP_SNS_ENERGY_TOTAL, WebEnergyFmt(Energy->total, Settings->flag2.energy_resolution, 2));
if (!isnan(Energy->export_active[0])) {
uint32_t single = (!isnan(Energy->export_active[1]) && !isnan(Energy->export_active[2])) ? 2 : 1;
- WSContentSend_PD(HTTP_ENERGY_EXPORT_ACTIVE, WebEnergyFmt(Energy->export_active, Settings->flag2.energy_resolution, single));
+ WSContentSend_PD(HTTP_SNS_EXPORT_ACTIVE, WebEnergyFmt(Energy->export_active, Settings->flag2.energy_resolution, single));
}
#ifdef USE_ENERGY_COLUMN_GUI
diff --git a/tasmota/tasmota_xdrv_driver/xdrv_86_esp32_sonoff_spm.ino b/tasmota/tasmota_xdrv_driver/xdrv_86_esp32_sonoff_spm.ino
index b13ad4fbd..5a3134762 100644
--- a/tasmota/tasmota_xdrv_driver/xdrv_86_esp32_sonoff_spm.ino
+++ b/tasmota/tasmota_xdrv_driver/xdrv_86_esp32_sonoff_spm.ino
@@ -2300,12 +2300,12 @@ void SSPMEnergyShow(bool json) {
WSContentSend_PD(HTTP_SNS_VOLTAGE, SSPMEnergyFormat(value_chr, Sspm->voltage[0], Settings->flag2.voltage_resolution, indirect, offset, count));
WSContentSend_PD(HTTP_SNS_CURRENT, SSPMEnergyFormat(value_chr, Sspm->current[0], Settings->flag2.current_resolution, indirect, offset, count));
WSContentSend_PD(HTTP_SNS_POWER, SSPMEnergyFormat(value_chr, Sspm->active_power[0], Settings->flag2.wattage_resolution, indirect, offset, count));
- WSContentSend_PD(HTTP_ENERGY_POWERUSAGE_APPARENT, SSPMEnergyFormat(value_chr, Sspm->apparent_power[0], Settings->flag2.wattage_resolution, indirect, offset, count));
- WSContentSend_PD(HTTP_ENERGY_POWERUSAGE_REACTIVE, SSPMEnergyFormat(value_chr, Sspm->reactive_power[0], Settings->flag2.wattage_resolution, indirect, offset, count));
- WSContentSend_PD(HTTP_ENERGY_POWER_FACTOR, SSPMEnergyFormat(value_chr, Sspm->power_factor[0], 2, indirect, offset, count));
- WSContentSend_PD(HTTP_ENERGY_TODAY, SSPMEnergyFormat(value_chr, Sspm->energy_today[0], Settings->flag2.energy_resolution, indirect, offset, count));
- WSContentSend_PD(HTTP_ENERGY_YESTERDAY, SSPMEnergyFormat(value_chr, Sspm->Settings.energy_yesterday[0], Settings->flag2.energy_resolution, indirect, offset, count));
- WSContentSend_PD(HTTP_ENERGY_TOTAL, SSPMEnergyFormat(value_chr, Sspm->energy_total[0], Settings->flag2.energy_resolution, indirect, offset, count));
+ WSContentSend_PD(HTTP_SNS_POWERUSAGE_APPARENT, SSPMEnergyFormat(value_chr, Sspm->apparent_power[0], Settings->flag2.wattage_resolution, indirect, offset, count));
+ WSContentSend_PD(HTTP_SNS_POWERUSAGE_REACTIVE, SSPMEnergyFormat(value_chr, Sspm->reactive_power[0], Settings->flag2.wattage_resolution, indirect, offset, count));
+ WSContentSend_PD(HTTP_SNS_POWER_FACTOR, SSPMEnergyFormat(value_chr, Sspm->power_factor[0], 2, indirect, offset, count));
+ WSContentSend_PD(HTTP_SNS_ENERGY_TODAY, SSPMEnergyFormat(value_chr, Sspm->energy_today[0], Settings->flag2.energy_resolution, indirect, offset, count));
+ WSContentSend_PD(HTTP_SNS_ENERGY_YESTERDAY, SSPMEnergyFormat(value_chr, Sspm->Settings.energy_yesterday[0], Settings->flag2.energy_resolution, indirect, offset, count));
+ WSContentSend_PD(HTTP_SNS_ENERGY_TOTAL, SSPMEnergyFormat(value_chr, Sspm->energy_total[0], Settings->flag2.energy_resolution, indirect, offset, count));
WSContentSend_P(PSTR("
{t}")); // {t} = - Define for next FUNC_WEB_SENSOR
}
#endif // USE_WEBSERVER
diff --git a/tasmota/tasmota_xnrg_energy/xnrg_08_sdm120.ino b/tasmota/tasmota_xnrg_energy/xnrg_08_sdm120.ino
index 99b5b0804..8f2ea1fa1 100644
--- a/tasmota/tasmota_xnrg_energy/xnrg_08_sdm120.ino
+++ b/tasmota/tasmota_xnrg_energy/xnrg_08_sdm120.ino
@@ -203,33 +203,19 @@ void Sdm220Reset(void)
Sdm120.phase_angle = 0;
}
-#ifdef USE_WEBSERVER
-const char HTTP_ENERGY_SDM220_IMPORT_REACTIVE[] PROGMEM =
- "{s}" D_IMPORT_REACTIVE "{m}%s " D_UNIT_KWARH "{e}";
-const char HTTP_ENERGY_SDM220_EXPORT_REACTIVE[] PROGMEM =
- "{s}" D_EXPORT_REACTIVE "{m}%s " D_UNIT_KWARH "{e}";
-const char HTTP_ENERGY_SDM220_PHASE_ANGLE[] PROGMEM =
- "{s}" D_PHASE_ANGLE "{m}%s " D_UNIT_ANGLE "{e}";
-#endif // USE_WEBSERVER
-
void Sdm220Show(bool json) {
if (isnan(Sdm120.import_active)) { return; }
if (json) {
- ResponseAppend_P(PSTR(",\"" D_JSON_IMPORT_ACTIVE "\":%s"),
- EnergyFmt(&Sdm120.import_active, Settings->flag2.energy_resolution));
- ResponseAppend_P(PSTR(",\"" D_JSON_IMPORT_REACTIVE "\":%s"),
- EnergyFmt(&Sdm120.import_reactive, Settings->flag2.energy_resolution));
- ResponseAppend_P(PSTR(",\"" D_JSON_EXPORT_REACTIVE "\":%s"),
- EnergyFmt(&Sdm120.export_reactive, Settings->flag2.energy_resolution));
- ResponseAppend_P(PSTR(",\"" D_JSON_PHASE_ANGLE "\":%s"),
- EnergyFmt(&Sdm120.phase_angle, 2));
+ ResponseAppend_P(PSTR(",\"" D_JSON_IMPORT_ACTIVE "\":%s"), EnergyFmt(&Sdm120.import_active, Settings->flag2.energy_resolution));
+ ResponseAppend_P(PSTR(",\"" D_JSON_IMPORT_REACTIVE "\":%s"), EnergyFmt(&Sdm120.import_reactive, Settings->flag2.energy_resolution));
+ ResponseAppend_P(PSTR(",\"" D_JSON_EXPORT_REACTIVE "\":%s"), EnergyFmt(&Sdm120.export_reactive, Settings->flag2.energy_resolution));
+ ResponseAppend_P(PSTR(",\"" D_JSON_PHASE_ANGLE "\":%s"), EnergyFmt(&Sdm120.phase_angle, 2));
#ifdef USE_WEBSERVER
} else {
- WSContentSend_PD(HTTP_ENERGY_SDM220_IMPORT_REACTIVE, WebEnergyFmt(&Sdm120.import_reactive, Settings->flag2.energy_resolution, 2));
- WSContentSend_PD(HTTP_ENERGY_SDM220_EXPORT_REACTIVE, WebEnergyFmt(&Sdm120.export_reactive, Settings->flag2.energy_resolution, 2));
- WSContentSend_PD(HTTP_ENERGY_SDM220_PHASE_ANGLE, WebEnergyFmt(&Sdm120.phase_angle, 2));
-
+ WSContentSend_PD(HTTP_SNS_IMPORT_REACTIVE, WebEnergyFmt(&Sdm120.import_reactive, Settings->flag2.energy_resolution, 2));
+ WSContentSend_PD(HTTP_SNS_EXPORT_REACTIVE, WebEnergyFmt(&Sdm120.export_reactive, Settings->flag2.energy_resolution, 2));
+ WSContentSend_PD(HTTP_SNS_PHASE_ANGLE, WebEnergyFmt(&Sdm120.phase_angle, 2));
#endif // USE_WEBSERVER
}
}
diff --git a/tasmota/tasmota_xnrg_energy/xnrg_13_fif_le01mr.ino b/tasmota/tasmota_xnrg_energy/xnrg_13_fif_le01mr.ino
index d68bd6a9b..9166b66c6 100644
--- a/tasmota/tasmota_xnrg_energy/xnrg_13_fif_le01mr.ino
+++ b/tasmota/tasmota_xnrg_energy/xnrg_13_fif_le01mr.ino
@@ -236,23 +236,14 @@ void FifLEReset(void)
Le01mr.total_reactive = 0;
}
-#ifdef USE_WEBSERVER
-const char HTTP_ENERGY_LE01MR_TOTAL_ACTIVE[] PROGMEM =
- "{s}" D_TOTAL_ACTIVE "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
-const char HTTP_ENERGY_LE01MR_TOTAL_REACTIVE[] PROGMEM =
- "{s}" D_TOTAL_REACTIVE "{m}%s " D_UNIT_KWARH "{e}";
-#endif // USE_WEBSERVER
-
void FifLEShow(bool json) {
if (json) {
- ResponseAppend_P(PSTR(",\"" D_JSON_TOTAL_ACTIVE "\":%s"),
- EnergyFmt(&Le01mr.total_active, Settings->flag2.energy_resolution));
- ResponseAppend_P(PSTR(",\"" D_JSON_TOTAL_REACTIVE "\":%s"),
- EnergyFmt(&Le01mr.total_reactive, Settings->flag2.energy_resolution));
+ ResponseAppend_P(PSTR(",\"" D_JSON_TOTAL_ACTIVE "\":%s"), EnergyFmt(&Le01mr.total_active, Settings->flag2.energy_resolution));
+ ResponseAppend_P(PSTR(",\"" D_JSON_TOTAL_REACTIVE "\":%s"), EnergyFmt(&Le01mr.total_reactive, Settings->flag2.energy_resolution));
#ifdef USE_WEBSERVER
} else {
- WSContentSend_PD(HTTP_ENERGY_LE01MR_TOTAL_ACTIVE, WebEnergyFmt(&Le01mr.total_active, Settings->flag2.energy_resolution));
- WSContentSend_PD(HTTP_ENERGY_LE01MR_TOTAL_REACTIVE, WebEnergyFmt(&Le01mr.total_reactive, Settings->flag2.energy_resolution));
+ WSContentSend_PD(HTTP_SNS_TOTAL_ACTIVE, WebEnergyFmt(&Le01mr.total_active, Settings->flag2.energy_resolution));
+ WSContentSend_PD(HTTP_SNS_TOTAL_REACTIVE, WebEnergyFmt(&Le01mr.total_reactive, Settings->flag2.energy_resolution));
#endif // USE_WEBSERVER
}
}
diff --git a/tasmota/tasmota_xnrg_energy/xnrg_18_sdm72.ino b/tasmota/tasmota_xnrg_energy/xnrg_18_sdm72.ino
index 69095ad81..a1fcaa628 100644
--- a/tasmota/tasmota_xnrg_energy/xnrg_18_sdm72.ino
+++ b/tasmota/tasmota_xnrg_energy/xnrg_18_sdm72.ino
@@ -151,54 +151,19 @@ void Sdm72DrvInit(void)
}
#ifdef SDM72_IMPEXP
-
-/*
-#ifdef USE_WEBSERVER
-const char HTTP_ENERGY_SDM72[] PROGMEM =
- "{s}" D_EXPORT_POWER "{m}%*_f " D_UNIT_WATT "{e}"
- "{s}" D_IMPORT_POWER "{m}%*_f " D_UNIT_WATT "{e}";
-#endif // USE_WEBSERVER
-
void Sdm72Show(bool json) {
if (isnan(Sdm72.total_active)) { return; }
if (json) {
- ResponseAppend_P(PSTR(",\"" D_JSON_EXPORT_POWER "\":%*_f,\"" D_JSON_IMPORT_POWER "\":%*_f"),
- Settings->flag2.wattage_resolution, &Sdm72.export_power,
- Settings->flag2.wattage_resolution, &Sdm72.import_power);
+ ResponseAppend_P(PSTR(",\"" D_JSON_EXPORT_POWER "\":%s"), EnergyFmt(&Sdm72.export_power, Settings->flag2.wattage_resolution));
+ ResponseAppend_P(PSTR(",\"" D_JSON_IMPORT_POWER "\":%s"), EnergyFmt(&Sdm72.import_power, Settings->flag2.wattage_resolution));
#ifdef USE_WEBSERVER
} else {
- WSContentSend_PD(HTTP_ENERGY_SDM72,
- Settings->flag2.wattage_resolution, &Sdm72.export_power,
- Settings->flag2.wattage_resolution, &Sdm72.import_power);
+ WSContentSend_PD(HTTP_SNS_EXPORT_POWER, WebEnergyFmt(&Sdm72.export_power, Settings->flag2.wattage_resolution));
+ WSContentSend_PD(HTTP_SNS_IMPORT_POWER, WebEnergyFmt(&Sdm72.import_power, Settings->flag2.wattage_resolution));
#endif // USE_WEBSERVER
}
}
-*/
-
-#ifdef USE_WEBSERVER
-const char HTTP_ENERGY_SDM72_EXPORT_POWER[] PROGMEM =
- "{s}" D_EXPORT_POWER "{m}%s" D_UNIT_WATT "{e}";
-const char HTTP_ENERGY_SDM72_IMPORT_POWER[] PROGMEM =
- "{s}" D_IMPORT_POWER "{m}%s" D_UNIT_WATT "{e}";
-#endif // USE_WEBSERVER
-
-void Sdm72Show(bool json) {
- if (isnan(Sdm72.total_active)) { return; }
-
- if (json) {
- ResponseAppend_P(PSTR(",\"" D_JSON_EXPORT_POWER "\":%s"),
- EnergyFmt(&Sdm72.export_power, Settings->flag2.wattage_resolution));
- ResponseAppend_P(PSTR(",\"" D_JSON_IMPORT_POWER "\":%s"),
- EnergyFmt(&Sdm72.import_power, Settings->flag2.wattage_resolution));
-#ifdef USE_WEBSERVER
- } else {
- WSContentSend_PD(HTTP_ENERGY_SDM72_EXPORT_POWER, WebEnergyFmt(&Sdm72.export_power, Settings->flag2.wattage_resolution));
- WSContentSend_PD(HTTP_ENERGY_SDM72_IMPORT_POWER, WebEnergyFmt(&Sdm72.import_power, Settings->flag2.wattage_resolution));
-#endif // USE_WEBSERVER
- }
-}
-
#endif // SDM72_IMPEXP
/*********************************************************************************************\
diff --git a/tasmota/tasmota_xnrg_energy/xnrg_21_sdm230.ino b/tasmota/tasmota_xnrg_energy/xnrg_21_sdm230.ino
index c8c166d46..647ddd2f8 100644
--- a/tasmota/tasmota_xnrg_energy/xnrg_21_sdm230.ino
+++ b/tasmota/tasmota_xnrg_energy/xnrg_21_sdm230.ino
@@ -216,28 +216,16 @@ void Sdm230Reset(void)
}
#ifdef SDM230_MORE_REGS
-#ifdef USE_WEBSERVER
-const char HTTP_ENERGY_SDM230_PHASE_ANGLE[] PROGMEM =
- "{s}" D_PHASE_ANGLE "{m}%s " D_UNIT_ANGLE "{e}";
-const char HTTP_ENERGY_SDM230_MAX_POWER[] PROGMEM =
- "{s}" D_MAX_POWER "{m}%s " D_UNIT_WATT "{e}";
-const char HTTP_ENERGY_SDM230_RESETTABLE_TOTAL_ACTIVE[] PROGMEM =
- "{s}" D_RESETTABLE_TOTAL_ACTIVE "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
-#endif // USE_WEBSERVER
-
void Sdm230Show(bool json) {
if (json) {
- ResponseAppend_P(PSTR(",\"" D_JSON_PHASE_ANGLE "\":%s"),
- EnergyFmt(&Sdm230.phase_angle, 2));
- ResponseAppend_P(PSTR(",\"" D_JSON_POWERMAX "\":%s"),
- EnergyFmt(&Sdm230.maximum_total_demand_power_active, Settings->flag2.wattage_resolution));
- ResponseAppend_P(PSTR(",\"" D_JSON_RESETTABLE_TOTAL_ACTIVE "\":%s"),
- EnergyFmt(&Sdm230.resettable_total_energy, Settings->flag2.energy_resolution));
+ ResponseAppend_P(PSTR(",\"" D_JSON_PHASE_ANGLE "\":%s"), EnergyFmt(&Sdm230.phase_angle, 2));
+ ResponseAppend_P(PSTR(",\"" D_JSON_POWERMAX "\":%s"), EnergyFmt(&Sdm230.maximum_total_demand_power_active, Settings->flag2.wattage_resolution));
+ ResponseAppend_P(PSTR(",\"" D_JSON_RESETTABLE_TOTAL_ACTIVE "\":%s"), EnergyFmt(&Sdm230.resettable_total_energy, Settings->flag2.energy_resolution));
#ifdef USE_WEBSERVER
} else {
- WSContentSend_PD(HTTP_ENERGY_SDM230_PHASE_ANGLE, WebEnergyFmt(&Sdm230.phase_angle, 2));
- WSContentSend_PD(HTTP_ENERGY_SDM230_MAX_POWER, WebEnergyFmt(&Sdm230.maximum_total_demand_power_active, Settings->flag2.wattage_resolution));
- WSContentSend_PD(HTTP_ENERGY_SDM230_RESETTABLE_TOTAL_ACTIVE, WebEnergyFmt(&Sdm230.resettable_total_energy, Settings->flag2.energy_resolution));
+ WSContentSend_PD(HTTP_SNS_PHASE_ANGLE, WebEnergyFmt(&Sdm230.phase_angle, 2));
+ WSContentSend_PD(HTTP_SNS_MAX_POWER, WebEnergyFmt(&Sdm230.maximum_total_demand_power_active, Settings->flag2.wattage_resolution));
+ WSContentSend_PD(HTTP_SNS_RSTTBL_TOTAL_ACTIVE, WebEnergyFmt(&Sdm230.resettable_total_energy, Settings->flag2.energy_resolution));
#endif // USE_WEBSERVER
}
}
diff --git a/tasmota/tasmota_xnrg_energy/xnrg_23_ade7880.ino b/tasmota/tasmota_xnrg_energy/xnrg_23_ade7880.ino
index 0c1f688fb..244d922f8 100644
--- a/tasmota/tasmota_xnrg_energy/xnrg_23_ade7880.ino
+++ b/tasmota/tasmota_xnrg_energy/xnrg_23_ade7880.ino
@@ -741,18 +741,12 @@ bool Ade7880Command(void) {
\*********************************************************************************************/
#ifdef ADE7880_MORE_REGS
-#ifdef USE_WEBSERVER
-const char HTTP_ADE7880_CURRENT[] PROGMEM = "{s}" D_CURRENT_NEUTRAL "{m}%s " D_UNIT_AMPERE "{e}";
-#endif // USE_WEBSERVER
-
void Ade7880Show(bool json) {
-
if (json) {
- ResponseAppend_P(PSTR(",\"" D_JSON_CURRENT_NEUTRAL "\":%s"),
- EnergyFmt(&Ade7880.neutral_current, Settings->flag2.current_resolution, 1));
+ ResponseAppend_P(PSTR(",\"" D_JSON_CURRENT_NEUTRAL "\":%s"), EnergyFmt(&Ade7880.neutral_current, Settings->flag2.current_resolution, 1));
#ifdef USE_WEBSERVER
} else {
- WSContentSend_PD(HTTP_ADE7880_CURRENT, WebEnergyFmt(&Ade7880.neutral_current, Settings->flag2.current_resolution, 1));
+ WSContentSend_PD(HTTP_SNS_CURRENT_N, WebEnergyFmt(&Ade7880.neutral_current, Settings->flag2.current_resolution, 1));
#endif // USE_WEBSERVER
}
}
diff --git a/tasmota/tasmota_xnrg_energy/xnrg_29_modbus.ino b/tasmota/tasmota_xnrg_energy/xnrg_29_modbus.ino
index 29b4eaf10..dc127db33 100644
--- a/tasmota/tasmota_xnrg_energy/xnrg_29_modbus.ino
+++ b/tasmota/tasmota_xnrg_energy/xnrg_29_modbus.ino
@@ -833,10 +833,7 @@ void EnergyModbusShow(bool json) {
#ifdef USE_WEBSERVER
} else {
if (strlen(NrgMbsUser[i].gui_name)) { // Skip empty GUI names
- WSContentSend_PD(PSTR("{s}%s{m}%s %s{e}"),
- NrgMbsUser[i].gui_name,
- WebEnergyFmt(values, resolution, single),
- NrgMbsUser[i].gui_unit);
+ WSContentSend_PD(PSTR("{s}%s{m}%s %s{e}"), NrgMbsUser[i].gui_name, WebEnergyFmt(values, resolution, single), NrgMbsUser[i].gui_unit);
}
#endif // USE_WEBSERVER
}