diff --git a/README.md b/README.md index 80b88471e..5f8af69d2 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ See [RELEASENOTES.md](https://github.com/arendst/Sonoff-Tasmota/blob/master/RELE In addition to the [release webpage](https://github.com/arendst/Sonoff-Tasmota/releases/latest) the binaries can also be downloaded from http://thehackbox.org/tasmota/release/ ## Development -[![Dev Version](https://img.shields.io/badge/development%20version-v6.7.0.x-blue.svg)](https://github.com/arendst/Sonoff-Tasmota) +[![Dev Version](https://img.shields.io/badge/development%20version-v6.7.1.x-blue.svg)](https://github.com/arendst/Sonoff-Tasmota) [![Download Dev](https://img.shields.io/badge/download-development-yellow.svg)](http://thehackbox.org/tasmota/) [![Build Status](https://img.shields.io/travis/arendst/Sonoff-Tasmota.svg)](https://travis-ci.org/arendst/Sonoff-Tasmota) diff --git a/sonoff/_changelog.ino b/sonoff/_changelog.ino index b964b449d..1cb954c7b 100644 --- a/sonoff/_changelog.ino +++ b/sonoff/_changelog.ino @@ -1,4 +1,9 @@ /*********************************************************************************************\ + * 6.7.1 20191026 + * Release + * Fix on energy monitoring devices using PowerDelta Exception0 with epc1:0x4000dce5 = Divide by zero (#6750) + * Fix Script array bug (#6751) + * * 6.7.0 20191025 * Release * diff --git a/sonoff/sonoff_version.h b/sonoff/sonoff_version.h index 1731d80a5..4780ef5e3 100644 --- a/sonoff/sonoff_version.h +++ b/sonoff/sonoff_version.h @@ -20,6 +20,6 @@ #ifndef _SONOFF_VERSION_H_ #define _SONOFF_VERSION_H_ -const uint32_t VERSION = 0x06070000; +const uint32_t VERSION = 0x06070100; #endif // _SONOFF_VERSION_H_ diff --git a/sonoff/xdrv_03_energy.ino b/sonoff/xdrv_03_energy.ino index aa580421d..263b2fa15 100644 --- a/sonoff/xdrv_03_energy.ino +++ b/sonoff/xdrv_03_energy.ino @@ -292,7 +292,7 @@ void EnergyMarginCheck(void) DEBUG_DRIVER_LOG(PSTR("NRG: Delta %d, Power %d"), delta, min_power); - if (delta) { // Fix divide by 0 exception (#6741) + if ((delta > 0) && (min_power > 0)) { // Fix divide by 0 exception (#6741) if (((Settings.energy_power_delta < 101) && (((delta * 100) / min_power) > Settings.energy_power_delta)) || // 1..100 = Percentage ((Settings.energy_power_delta > 100) && (delta > (Settings.energy_power_delta -100)))) { // 101..32000 = Absolute Energy.power_delta = true; diff --git a/sonoff/xdrv_10_scripter.ino b/sonoff/xdrv_10_scripter.ino index e4610c830..434c1716a 100644 --- a/sonoff/xdrv_10_scripter.ino +++ b/sonoff/xdrv_10_scripter.ino @@ -2731,9 +2731,14 @@ int16_t Run_Scripter(const char *type, int8_t tlen, char *js) { uint8_t index=glob_script_mem.type[ind.index].index; if ((vtype&STYPE)==0) { // numeric result - if (ind.bits.settable) { + if (ind.bits.settable || ind.bits.is_filter) { dfvar=&sysvar; - sysv_type=ind.index; + if (ind.bits.settable) { + sysv_type=ind.index; + } else { + sysv_type=0; + } + } else { dfvar=&glob_script_mem.fvars[index]; sysv_type=0;