diff --git a/CHANGELOG.md b/CHANGELOG.md index b563d0683..637f44d9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,19 @@ All notable changes to this project will be documented in this file. ## [Unreleased] - Development -## [12.2.0.1] +## [12.2.0.2] +### Added + +### Breaking Changed + +### Changed +- Prepare for extended calibration and move some persistent data (PowerLow) + +### Fixed + +### Removed + +## [12.2.0.1] 20221026 ### Added - DS18x20 support on up to four GPIOs by md5sum-as (#16833) - Berry add `bytes().setbytes()` (#16892) @@ -11,8 +23,6 @@ All notable changes to this project will be documented in this file. - Add Zigbee router firmware for Sonoff ZBBridgePro (#16900) - Prepare for DMX Artnet support on ESP32 -### Breaking Changed - ### Changed - DS18x20 ``DS18Alias`` to ``DS18Sens`` (#16833) - Compiling with reduced boards manifests in favour of Autoconfig (#16848) @@ -22,8 +32,6 @@ All notable changes to this project will be documented in this file. ### Fixed - BP5758D red channel corruption regression from v12.1.1.6 (#16850) -### Removed - ## [Released] ## [12.2.0] 20221017 diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 2286b8edb..a56da4e9f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -107,7 +107,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo [Complete list](BUILDS.md) of available feature and sensors. -## Changelog v12.2.0.1 +## Changelog v12.2.0.2 ### Added - Command NeoPool ``NPFiltration 2`` toggle [#16859](https://github.com/arendst/Tasmota/issues/16859) - Support for Shelly Pro 1/1PM and 2/2PM [#16773](https://github.com/arendst/Tasmota/issues/16773) diff --git a/tasmota/include/tasmota_types.h b/tasmota/include/tasmota_types.h index e1964b9e6..0fa7d6f69 100644 --- a/tasmota/include/tasmota_types.h +++ b/tasmota/include/tasmota_types.h @@ -268,7 +268,7 @@ typedef union { uint32_t spare25 : 1; // bit 25 uint32_t spare26 : 1; // bit 26 uint32_t spare27 : 1; // bit 27 - uint32_t sunrise_dawn_angle : 2; // bits 28/29 (v12.1.1.4) - + uint32_t sunrise_dawn_angle : 2; // bits 28/29 (v12.1.1.4) - uint32_t temperature_set_res : 2; // bits 30/31 (v9.3.1.4) - (Tuya) }; } SysMBitfield2; @@ -549,10 +549,9 @@ typedef struct { uint32_t energy_power_calibration; // 364 uint32_t energy_voltage_calibration; // 368 uint32_t energy_current_calibration; // 36C - uint32_t ex_energy_kWhtoday; // 370 - uint32_t ex_energy_kWhyesterday; // 374 - uint16_t energy_kWhdoy; // 378 - uint16_t energy_min_power; // 37A + uint32_t energy_power_calibration2; // 370 - ex_energy_kWhtoday + uint32_t energy_voltage_calibration2; // 374 - ex_energy_kWhyesterday + uint32_t energy_current_calibration2; // 378 - ex_energy_kWhdoy, ex_energy_min_power uint16_t energy_max_power; // 37C uint16_t energy_min_voltage; // 37E uint16_t energy_max_voltage; // 380 @@ -573,8 +572,10 @@ typedef struct { uint16_t blinkcount; // 39C uint16_t light_rotation; // 39E SOBitfield3 flag3; // 3A0 + uint16_t energy_kWhdoy; // 3A4 + uint16_t energy_min_power; // 3A6 - uint8_t ex_switchmode[8]; // 3A4 - Free since 9.2.0.6 + uint8_t free_3A8[4]; // 3A8 - ex_switchmode4-7, Free since 9.2.0.6 #ifdef CONFIG_IDF_TARGET_ESP32S3 // ------------------------------------ @@ -836,7 +837,7 @@ typedef struct { uint8_t free_f63[13]; // F63 - Decrement if adding new Setting variables just above and below // Only 32 bit boundary variables below - uint32_t touch_threshold; // F70 + uint32_t touch_threshold; // F70 SOBitfield6 flag6; // F74 uint16_t flowratemeter_calibration[2];// F78 int32_t energy_kWhexport_ph[3]; // F7C diff --git a/tasmota/include/tasmota_version.h b/tasmota/include/tasmota_version.h index 992709ba0..6d24b16b5 100644 --- a/tasmota/include/tasmota_version.h +++ b/tasmota/include/tasmota_version.h @@ -20,6 +20,6 @@ #ifndef _TASMOTA_VERSION_H_ #define _TASMOTA_VERSION_H_ -const uint32_t VERSION = 0x0C020001; // 12.2.0.1 +const uint32_t VERSION = 0x0C020002; // 12.2.0.2 #endif // _TASMOTA_VERSION_H_ diff --git a/tasmota/tasmota_support/settings.ino b/tasmota/tasmota_support/settings.ino index 5d0e8c6d7..bf1f9ba63 100644 --- a/tasmota/tasmota_support/settings.ino +++ b/tasmota/tasmota_support/settings.ino @@ -45,7 +45,7 @@ void RtcSettingsSave(void) { if (RTC_MEM_VALID != RtcSettings.valid) { memset(&RtcSettings, 0, sizeof(RtcSettings)); RtcSettings.valid = RTC_MEM_VALID; -// RtcSettings.ex_energy_kWhtoday = Settings->ex_energy_kWhtoday; +// RtcSettings.ex_energy_kWhtoday = Settings->energy_power_calibration2; // RtcSettings.ex_energy_kWhtotal = Settings->ex_energy_kWhtotal; for (uint32_t i = 0; i < 3; i++) { RtcSettings.energy_kWhtoday_ph[i] = Settings->energy_kWhtoday_ph[i]; @@ -1046,6 +1046,9 @@ void SettingsDefaultSet2(void) { Settings->energy_power_calibration = HLW_PREF_PULSE; Settings->energy_voltage_calibration = HLW_UREF_PULSE; Settings->energy_current_calibration = HLW_IREF_PULSE; + Settings->energy_power_calibration2 = HLW_PREF_PULSE; + Settings->energy_voltage_calibration2 = HLW_UREF_PULSE; + Settings->energy_current_calibration2 = HLW_IREF_PULSE; // Settings->energy_kWhtoday_ph[0] = 0; // Settings->energy_kWhtoday_ph[1] = 0; // Settings->energy_kWhtoday_ph[2] = 0; @@ -1468,7 +1471,7 @@ void SettingsDelta(void) { } if (Settings->version < 0x09020006) { for (uint32_t i = 0; i < MAX_SWITCHES_SET; i++) { - Settings->switchmode[i] = (i < 8) ? Settings->ex_switchmode[i] : SWITCH_MODE; + Settings->switchmode[i] = SWITCH_MODE; } for (uint32_t i = 0; i < MAX_INTERLOCKS_SET; i++) { Settings->interlock[i] = (i < 4) ? Settings->ds3502_state[i] : 0; @@ -1532,8 +1535,8 @@ void SettingsDelta(void) { memset(&Settings->energy_kWhtoday_ph, 0, 36); memset(&RtcSettings.energy_kWhtoday_ph, 0, 24); Settings->energy_kWhtotal_ph[0] = Settings->ex_energy_kWhtotal; - Settings->energy_kWhtoday_ph[0] = Settings->ex_energy_kWhtoday; - Settings->energy_kWhyesterday_ph[0] = Settings->ex_energy_kWhyesterday; + Settings->energy_kWhtoday_ph[0] = Settings->energy_power_calibration2; + Settings->energy_kWhyesterday_ph[0] = Settings->energy_voltage_calibration2; RtcSettings.energy_kWhtoday_ph[0] = RtcSettings.ex_energy_kWhtoday; RtcSettings.energy_kWhtotal_ph[0] = RtcSettings.ex_energy_kWhtotal; } @@ -1598,6 +1601,13 @@ void SettingsDelta(void) { Settings->webcam_clk = 20; } #endif // ESP32 + if (Settings->version < 0x0C020002) { // 12.2.0.2 + Settings->energy_kWhdoy = Settings->energy_current_calibration2 & 0xFFFF; + Settings->energy_min_power = (Settings->energy_current_calibration2 >> 16) & 0xFFFF; + Settings->energy_power_calibration2 = Settings->energy_power_calibration; + Settings->energy_voltage_calibration2 = Settings->energy_voltage_calibration; + Settings->energy_current_calibration2 = Settings->energy_current_calibration; + } Settings->version = VERSION; SettingsSave(1);