From 33f85b20238cd058ed363867fb20160732f362fa Mon Sep 17 00:00:00 2001 From: andrethomas Date: Fri, 30 Nov 2018 19:55:22 +0200 Subject: [PATCH 1/2] Upd settings.ino - set sleep=0 when SetOption36>0 Update settings.ino - set sleep=0 when SetOption36>0 --- sonoff/settings.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/sonoff/settings.ino b/sonoff/settings.ino index 99e81230d..cf49c0719 100644 --- a/sonoff/settings.ino +++ b/sonoff/settings.ino @@ -857,6 +857,7 @@ void SettingsDelta(void) } if (Settings.version < 0x0603000A) { Settings.param[P_LOOP_SLEEP_DELAY] = LOOP_SLEEP_DELAY; + Settings.sleep = 0; // We do not want sleep enabled when SetOption36 is active } if (Settings.version < 0x0603000E) { Settings.flag2.calc_resolution = CALC_RESOLUTION; From 3613946f185297da71a765be9ef0a83d26c7bbb8 Mon Sep 17 00:00:00 2001 From: andrethomas Date: Fri, 30 Nov 2018 20:00:20 +0200 Subject: [PATCH 2/2] Prevent sleep and SetOption36 being used concurrently Prevent sleep and SetOption36 being used concurrently --- sonoff/sonoff.ino | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sonoff/sonoff.ino b/sonoff/sonoff.ino index 30188056c..960d9cf25 100755 --- a/sonoff/sonoff.ino +++ b/sonoff/sonoff.ino @@ -587,6 +587,11 @@ void MqttDataHandler(char* topic, byte* data, unsigned int data_len) } else if (CMND_SLEEP == command_code) { if ((payload >= 0) && (payload < 251)) { + if (payload > 0) { + snprintf_P(log_data, sizeof(log_data), PSTR("*** WARNING *** - Disabling SetOption36 (Dynamic Sleep) in favour of sleep")); + AddLog(LOG_LEVEL_INFO); + Settings.param[P_LOOP_SLEEP_DELAY] = 0; // We do not want SetOption36 to be active along with traditional sleep + } Settings.sleep = payload; sleep = payload; WiFiSetSleepMode(); @@ -756,6 +761,12 @@ void MqttDataHandler(char* topic, byte* data, unsigned int data_len) param_low = 1; param_high = 250; break; + case P_LOOP_SLEEP_DELAY: + if (payload > 0) { + snprintf_P(log_data, sizeof(log_data), PSTR("*** WARNING *** - Disabling sleep in favour of SetOption36 (Dynamic Sleep)")); + AddLog(LOG_LEVEL_INFO); + Settings.sleep = 0; // We do not want traditional sleep to be enabled along side SetOption36 + } } if ((payload >= param_low) && (payload <= param_high)) { Settings.param[pindex] = payload;