diff --git a/tasmota/support.ino b/tasmota/support.ino index 8587c034b..d9693a3a4 100644 --- a/tasmota/support.ino +++ b/tasmota/support.ino @@ -1669,6 +1669,8 @@ void AddLog(uint32_t loglevel) if (!global_state.wifi_down && (loglevel <= syslog_level)) { Syslog(); } + + prepped_loglevel = 0; } void AddLog_P(uint32_t loglevel, const char *formatP) diff --git a/tasmota/support_tasmota.ino b/tasmota/support_tasmota.ino index 19f592a18..c5e9c887f 100644 --- a/tasmota/support_tasmota.ino +++ b/tasmota/support_tasmota.ino @@ -809,7 +809,6 @@ void Every100mSeconds(void) if (prepped_loglevel) { AddLog(prepped_loglevel); - prepped_loglevel = 0; } if (latching_relay_pulse) { diff --git a/tasmota/xdrv_01_webserver.ino b/tasmota/xdrv_01_webserver.ino index aea0d4c78..562f33697 100644 --- a/tasmota/xdrv_01_webserver.ino +++ b/tasmota/xdrv_01_webserver.ino @@ -1952,17 +1952,26 @@ void OtherSaveSettings(void) } AddLog_P(LOG_LEVEL_INFO, message); +/* + // This sometimes provides intermittent watchdog + bool template_activate = WebServer->hasArg("t2"); // Try this to tackle intermittent watchdog after execution of Template command WebGetArg("t1", tmp, sizeof(tmp)); if (strlen(tmp)) { // {"NAME":"12345678901234","GPIO":[255,255,255,255,255,255,255,255,255,255,255,255,255],"FLAG":255,"BASE":255} char svalue[128]; snprintf_P(svalue, sizeof(svalue), PSTR(D_CMND_TEMPLATE " %s"), tmp); ExecuteWebCommand(svalue, SRC_WEBGUI); - if (WebServer->hasArg("t2")) { + if (template_activate) { snprintf_P(svalue, sizeof(svalue), PSTR(D_CMND_MODULE " 0")); ExecuteWebCommand(svalue, SRC_WEBGUI); } - + } + // Try async execution of commands +*/ + WebGetArg("t1", tmp, sizeof(tmp)); + if (strlen(tmp)) { // {"NAME":"12345678901234","GPIO":[255,255,255,255,255,255,255,255,255,255,255,255,255],"FLAG":255,"BASE":255} + snprintf_P(message, sizeof(message), PSTR(D_CMND_BACKLOG " " D_CMND_TEMPLATE " %s%s"), tmp, (WebServer->hasArg("t2")) ? "; " D_CMND_MODULE " 0" : ""); + ExecuteWebCommand(message, SRC_WEBGUI); } }