From 42bf0c451f3373ae4d3785a4c1608741e5e4c2fd Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sun, 28 Jun 2026 22:08:38 +0200 Subject: [PATCH 1/2] [Bugfix] Improve initialization of Task Interval --- src/src/Helpers/Hardware.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/src/Helpers/Hardware.cpp b/src/src/Helpers/Hardware.cpp index 936d73f30b..dc36b3224b 100644 --- a/src/src/Helpers/Hardware.cpp +++ b/src/src/Helpers/Hardware.cpp @@ -952,9 +952,17 @@ void setTaskDevice_to_TaskIndex(pluginID_t taskdevicenumber, taskIndex_t taskInd PluginCall(PLUGIN_SET_DEFAULTS, &TempEvent, dummy); PluginCall(PLUGIN_GET_DEVICEVALUENAMES, &TempEvent, dummy); // the plugin should populate ExtraTaskSettings with its default values. + const deviceIndex_t DeviceIndex = getDeviceIndex_from_TaskIndex(taskIndex); + + if (!Device[DeviceIndex].TimerOptional) { // Set default delay, unless it's optional... + Settings.TaskDeviceTimer[taskIndex] = Settings.Delay; + } + else { + Settings.TaskDeviceTimer[taskIndex] = 0; + } + #if FEATURE_MQTT_DISCOVER && FEATURE_CUSTOM_TASKVAR_VTYPE && FEATURE_TASKVALUE_UNIT_OF_MEASURE // Fill in standard Unit of measurement and Value Type, if possible - const deviceIndex_t DeviceIndex = getDeviceIndex_from_TaskIndex(taskIndex); std::vector discoveryItems; MQTT_DiscoveryGetDeviceVType(taskIndex, discoveryItems, getValueCountForTask(taskIndex), dummy); @@ -1002,13 +1010,6 @@ void setBasicTaskValues(taskIndex_t taskIndex, unsigned long taskdevicetimer, if (taskdevicetimer > 0) { Settings.TaskDeviceTimer[taskIndex] = taskdevicetimer; - } else { - if (!Device[DeviceIndex].TimerOptional) { // Set default delay, unless it's optional... - Settings.TaskDeviceTimer[taskIndex] = Settings.Delay; - } - else { - Settings.TaskDeviceTimer[taskIndex] = 0; - } } Settings.TaskDeviceEnabled[taskIndex] = enabled; //Settings.TaskDeviceEnabled[taskIndex].enabled = enabled; From 2aeea6e1e53c900e66dde660dae892ecbff0cba4 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Mon, 29 Jun 2026 23:16:54 +0200 Subject: [PATCH 2/2] [Bugfix] Partial revert for saving Task Interval --- src/src/Helpers/Hardware.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/src/Helpers/Hardware.cpp b/src/src/Helpers/Hardware.cpp index dc36b3224b..28045c0abd 100644 --- a/src/src/Helpers/Hardware.cpp +++ b/src/src/Helpers/Hardware.cpp @@ -1010,6 +1010,13 @@ void setBasicTaskValues(taskIndex_t taskIndex, unsigned long taskdevicetimer, if (taskdevicetimer > 0) { Settings.TaskDeviceTimer[taskIndex] = taskdevicetimer; + } else { + if (!Device[DeviceIndex].TimerOptional) { // Set default delay, unless it's optional... + Settings.TaskDeviceTimer[taskIndex] = Settings.Delay; + } + else { + Settings.TaskDeviceTimer[taskIndex] = 0; + } } Settings.TaskDeviceEnabled[taskIndex] = enabled; //Settings.TaskDeviceEnabled[taskIndex].enabled = enabled;