diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a55440abe..7cacefa47 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -140,6 +140,7 @@ Version 6.2.0 20180901 * Fix Sonoff Bridge data reception when using Portisch EFM8 firmware using in data buffer length (#3605) * Add read sensor retry to DS18B20, DS18x20, DHT, SHT1X and HTU21 * Add user selection of Wifi Smartconfig as define USE_SMARTCONFIG in user_config.h + * Add boot loop detection and perform some solutions * Add wifi and mqtt status led blinkyblinky to be disabled by SetOption31 1. Does not work when LedPower is On (deliberate) (#871, #2230, #3114, #3155) * Add support for TM1638 switch (#2226) * Add GPIO options ButtonXn, SwitchXn and CounterXn to select INPUT mode instead of INPUT_PULLUP (#2525) diff --git a/sonoff/_changelog.ino b/sonoff/_changelog.ino index dcc60cc55..ca71946ab 100644 --- a/sonoff/_changelog.ino +++ b/sonoff/_changelog.ino @@ -1,5 +1,5 @@ /* 6.1.1.14 20180830 - * Add boot loop detection and try to fix + * Add boot loop detection and perform some solutions * * 6.1.1.13 20180828 * Fix 6.1.1.12 regression of Mem and Var default handling (#3618) diff --git a/sonoff/sonoff.ino b/sonoff/sonoff.ino index 2e080aa18..254f88184 100755 --- a/sonoff/sonoff.ino +++ b/sonoff/sonoff.ino @@ -2527,7 +2527,7 @@ void setup() save_data_counter = Settings.save_data; sleep = Settings.sleep; - // Disable functionality as possible cause of fast reboot within BOOT_LOOP_TIME seconds (Exception or WDT) + // Disable functionality as possible cause of fast restart within BOOT_LOOP_TIME seconds (Exception, WDT or restarts) if (RtcSettings.fast_reboot_count > 1) { // Restart twice Settings.flag3.user_esp8285_enable = 0; // Disable ESP8285 Generic GPIOs interfering with flash SPI if (RtcSettings.fast_reboot_count > 2) { // Restart 3 times @@ -2541,8 +2541,11 @@ void setup() Settings.rule_enabled = 0; // Disable all rules } if (RtcSettings.fast_reboot_count > 4) { // Restarted 5 times - Settings.module = SONOFF_BASIC; // Use default module - Settings.last_module = SONOFF_BASIC; // Use default module + Settings.module = SONOFF_BASIC; // Reset module to Sonoff Basic + Settings.last_module = SONOFF_BASIC; + for (byte i = 0; i < MAX_GPIO_PIN; i++) { + Settings.my_gp.io[i] = GPIO_NONE; // Reset user defined GPIO disabling sensors + } } snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_APPLICATION D_LOG_SOME_SETTINGS_RESET " (%d)"), RtcSettings.fast_reboot_count); AddLog(LOG_LEVEL_DEBUG);