diff --git a/tasmota/xdrv_79_esp32_ble.ino b/tasmota/xdrv_79_esp32_ble.ino index 5e4c2b70c..c9586a45e 100644 --- a/tasmota/xdrv_79_esp32_ble.ino +++ b/tasmota/xdrv_79_esp32_ble.ino @@ -1478,12 +1478,14 @@ static void BLEInit(void) { if (BLEInitState) { return; } - if (TasmotaGlobal.global_state.wifi_down) { return; } + if (TasmotaGlobal.global_state.wifi_down && TasmotaGlobal.global_state.eth_down) { return; } - TasmotaGlobal.wifi_stay_asleep = true; - if (WiFi.getSleep() == false) { - AddLog(LOG_LEVEL_DEBUG,PSTR("%s: Put WiFi modem in sleep mode"),"BLE"); - WiFi.setSleep(true); // Sleep + if (!TasmotaGlobal.global_state.wifi_down) { + TasmotaGlobal.wifi_stay_asleep = true; + if (WiFi.getSleep() == false) { + AddLog(LOG_LEVEL_DEBUG,PSTR("%s: Put WiFi modem in sleep mode"), "BLE"); + WiFi.setSleep(true); // Sleep + } } // this is only for testing, does nothin if examples are undefed diff --git a/tasmota/xsns_62_esp32_mi.ino b/tasmota/xsns_62_esp32_mi.ino index b8ec74d0c..f1ba1a50e 100644 --- a/tasmota/xsns_62_esp32_mi.ino +++ b/tasmota/xsns_62_esp32_mi.ino @@ -789,12 +789,14 @@ void MI32PreInit(void) { void MI32Init(void) { if (MI32.mode.init) { return; } - if (TasmotaGlobal.global_state.wifi_down) { return; } + if (TasmotaGlobal.global_state.wifi_down && TasmotaGlobal.global_state.eth_down) { return; } - TasmotaGlobal.wifi_stay_asleep = true; - if (WiFi.getSleep() == false) { - AddLog(LOG_LEVEL_DEBUG,PSTR("M32: Put WiFi modem in sleep mode")); - WiFi.setSleep(true); // Sleep + if (!TasmotaGlobal.global_state.wifi_down) { + TasmotaGlobal.wifi_stay_asleep = true; + if (WiFi.getSleep() == false) { + AddLog(LOG_LEVEL_DEBUG,PSTR("M32: Put WiFi modem in sleep mode")); + WiFi.setSleep(true); // Sleep + } } if (!MI32.mode.init) {