mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-24 19:26:37 +00:00
Fix ESP32 energy monitoring over 3 phases
This commit is contained in:
parent
5b0ee76173
commit
9e9afe88f1
@ -166,8 +166,8 @@ typedef struct {
|
|||||||
|
|
||||||
// Local only
|
// Local only
|
||||||
float daily_kWh[ENERGY_MAX_PHASES]; // 123.123 kWh
|
float daily_kWh[ENERGY_MAX_PHASES]; // 123.123 kWh
|
||||||
float energy_today_offset_kWh[ENERGY_MAX_PHASES]; // 12312312 Wh * 10^-2 (deca milli Watt hours) - 5764 = 0.05764 kWh = 0.058 kWh = Energy->daily
|
float energy_today_offset_kWh[ENERGY_MAX_PHASES]; // 123.12312 kWh = Energy->daily
|
||||||
float period_kWh[ENERGY_MAX_PHASES]; // 12312312 Wh * 10^-2 (deca milli Watt hours) - 5764 = 0.05764 kWh = 0.058 kWh = Energy->daily
|
float period_kWh[ENERGY_MAX_PHASES]; // 123.12312 kWh = Energy->daily
|
||||||
float daily_sum_import_balanced; // 123.123 kWh
|
float daily_sum_import_balanced; // 123.123 kWh
|
||||||
float daily_sum_export_balanced; // 123.123 kWh
|
float daily_sum_export_balanced; // 123.123 kWh
|
||||||
|
|
||||||
@ -595,7 +595,7 @@ void Energy200ms(void) {
|
|||||||
|
|
||||||
if (!Energy->kWhtoday_offset_init && (RtcTime.day_of_year == Energy->Settings.energy_kWhdoy)) {
|
if (!Energy->kWhtoday_offset_init && (RtcTime.day_of_year == Energy->Settings.energy_kWhdoy)) {
|
||||||
Energy->kWhtoday_offset_init = true;
|
Energy->kWhtoday_offset_init = true;
|
||||||
for (uint32_t i = 0; i < 3; i++) {
|
for (uint32_t i = 0; i < ENERGY_MAX_PHASES; i++) {
|
||||||
Energy->energy_today_offset_kWh[i] = Energy->Settings.energy_today_kWh[i];
|
Energy->energy_today_offset_kWh[i] = Energy->Settings.energy_today_kWh[i];
|
||||||
// RtcEnergySettings.energy_today_kWh[i] = 0;
|
// RtcEnergySettings.energy_today_kWh[i] = 0;
|
||||||
}
|
}
|
||||||
@ -642,7 +642,7 @@ void Energy200ms(void) {
|
|||||||
void EnergySaveState(void) {
|
void EnergySaveState(void) {
|
||||||
Energy->Settings.energy_kWhdoy = (RtcTime.valid) ? RtcTime.day_of_year : 0;
|
Energy->Settings.energy_kWhdoy = (RtcTime.valid) ? RtcTime.day_of_year : 0;
|
||||||
|
|
||||||
for (uint32_t i = 0; i < 3; i++) {
|
for (uint32_t i = 0; i < ENERGY_MAX_PHASES; i++) {
|
||||||
Energy->Settings.energy_today_kWh[i] = RtcEnergySettings.energy_today_kWh[i];
|
Energy->Settings.energy_today_kWh[i] = RtcEnergySettings.energy_today_kWh[i];
|
||||||
Energy->Settings.energy_total_kWh[i] = RtcEnergySettings.energy_total_kWh[i];
|
Energy->Settings.energy_total_kWh[i] = RtcEnergySettings.energy_total_kWh[i];
|
||||||
Energy->Settings.energy_export_kWh[i] = RtcEnergySettings.energy_export_kWh[i];
|
Energy->Settings.energy_export_kWh[i] = RtcEnergySettings.energy_export_kWh[i];
|
||||||
@ -1380,7 +1380,7 @@ void EnergySnsInit(void) {
|
|||||||
&Energy->Settings.energy_today_kWh[0],&Energy->Settings.energy_today_kWh[1],&Energy->Settings.energy_today_kWh[2]
|
&Energy->Settings.energy_today_kWh[0],&Energy->Settings.energy_today_kWh[1],&Energy->Settings.energy_today_kWh[2]
|
||||||
);
|
);
|
||||||
*/
|
*/
|
||||||
for (uint32_t i = 0; i < 3; i++) {
|
for (uint32_t i = 0; i < ENERGY_MAX_PHASES; i++) {
|
||||||
// Energy->energy_today_offset_kWh[i] = 0; // Reset by EnergyDrvInit()
|
// Energy->energy_today_offset_kWh[i] = 0; // Reset by EnergyDrvInit()
|
||||||
// 20220805 - Change from https://github.com/arendst/Tasmota/issues/16118
|
// 20220805 - Change from https://github.com/arendst/Tasmota/issues/16118
|
||||||
if (EnergyRtcSettingsValid()) {
|
if (EnergyRtcSettingsValid()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user