mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-07-28 04:07:47 +00:00
[TaskValueSet] Allow TaskValueSet on non-Dummy tasks (setting)
As reported [here](https://github.com/TD-er/ESPEasy/commit/92f9006de6710c6b21eb71d60b089e7d9ed966be#r54477663) by @clumsy-stefan
This commit is contained in:
@@ -79,7 +79,7 @@ const __FlashStringHelper * taskValueSet(struct EventStruct *event, const char *
|
||||
success = false;
|
||||
return F("INVALID_PARAMETERS");
|
||||
}
|
||||
if (getPluginID_from_TaskIndex(taskIndex) != 33) { // PluginID 33 = Dummy Device
|
||||
if (!Settings.AllowTaskValueSetAllPlugins() && getPluginID_from_TaskIndex(taskIndex) != 33) { // PluginID 33 = Dummy Device
|
||||
success = false;
|
||||
return F("NOT_A_DUMMY_TASK");
|
||||
}
|
||||
|
||||
@@ -236,7 +236,15 @@ void SettingsStruct_tmpl<N_TASKS>::EnableTimingStats(bool value) {
|
||||
bitWrite(VariousBits1, 20, value);
|
||||
}
|
||||
|
||||
template<unsigned int N_TASKS>
|
||||
bool SettingsStruct_tmpl<N_TASKS>::AllowTaskValueSetAllPlugins() const {
|
||||
return bitRead(VariousBits1, 21);
|
||||
}
|
||||
|
||||
template<unsigned int N_TASKS>
|
||||
void SettingsStruct_tmpl<N_TASKS>::AllowTaskValueSetAllPlugins(bool value) {
|
||||
bitWrite(VariousBits1, 21, value);
|
||||
}
|
||||
|
||||
template<unsigned int N_TASKS>
|
||||
ExtTimeSource_e SettingsStruct_tmpl<N_TASKS>::ExtTimeSource() const {
|
||||
|
||||
@@ -137,6 +137,9 @@ class SettingsStruct_tmpl
|
||||
bool UseNTP() const;
|
||||
void UseNTP(bool value);
|
||||
|
||||
bool AllowTaskValueSetAllPlugins() const;
|
||||
void AllowTaskValueSetAllPlugins(bool value);
|
||||
|
||||
|
||||
void validate();
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ const __FlashStringHelper * getLabel(LabelType::Enum label) {
|
||||
|
||||
case LabelType::JSON_BOOL_QUOTES: return F("JSON bool output without quotes");
|
||||
case LabelType::ENABLE_TIMING_STATISTICS: return F("Collect Timing Statistics");
|
||||
|
||||
case LabelType::TASKVALUESET_ALL_PLUGINS: return F("Allow TaskValueSet on all plugins");
|
||||
|
||||
case LabelType::BOOT_TYPE: return F("Last Boot Cause");
|
||||
case LabelType::BOOT_COUNT: return F("Boot Count");
|
||||
@@ -249,6 +249,7 @@ String getValue(LabelType::Enum label) {
|
||||
|
||||
case LabelType::JSON_BOOL_QUOTES: return jsonBool(Settings.JSONBoolWithoutQuotes());
|
||||
case LabelType::ENABLE_TIMING_STATISTICS: return jsonBool(Settings.EnableTimingStats());
|
||||
case LabelType::TASKVALUESET_ALL_PLUGINS: return jsonBool(Settings.AllowTaskValueSetAllPlugins());
|
||||
|
||||
case LabelType::BOOT_TYPE: return getLastBootCauseString();
|
||||
case LabelType::BOOT_COUNT: break;
|
||||
|
||||
@@ -52,6 +52,7 @@ struct LabelType {
|
||||
|
||||
JSON_BOOL_QUOTES,
|
||||
ENABLE_TIMING_STATISTICS,
|
||||
TASKVALUESET_ALL_PLUGINS,
|
||||
|
||||
BOOT_TYPE, // Cold boot
|
||||
BOOT_COUNT, // 0
|
||||
|
||||
@@ -103,6 +103,7 @@ void handle_advanced() {
|
||||
Settings.UseLastWiFiFromRTC(isFormItemChecked(LabelType::WIFI_USE_LAST_CONN_FROM_RTC));
|
||||
Settings.JSONBoolWithoutQuotes(isFormItemChecked(LabelType::JSON_BOOL_QUOTES));
|
||||
Settings.EnableTimingStats(isFormItemChecked(LabelType::ENABLE_TIMING_STATISTICS));
|
||||
Settings.AllowTaskValueSetAllPlugins(isFormItemChecked(LabelType::TASKVALUESET_ALL_PLUGINS));
|
||||
#ifdef ESP8266
|
||||
Settings.UseAlternativeDeepSleep(isFormItemChecked(LabelType::DEEP_SLEEP_ALTERNATIVE_CALL));
|
||||
#endif
|
||||
@@ -211,6 +212,8 @@ void handle_advanced() {
|
||||
#ifdef USES_TIMING_STATS
|
||||
addFormCheckBox(LabelType::ENABLE_TIMING_STATISTICS, Settings.EnableTimingStats());
|
||||
#endif
|
||||
addFormCheckBox(LabelType::TASKVALUESET_ALL_PLUGINS, Settings.AllowTaskValueSetAllPlugins());
|
||||
|
||||
#ifdef ESP8266
|
||||
addFormCheckBox(LabelType::DEEP_SLEEP_ALTERNATIVE_CALL, Settings.UseAlternativeDeepSleep());
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user