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 }