[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:
TD-er
2021-08-05 23:53:51 +02:00
parent 6829f22dd5
commit 054159efda
6 changed files with 18 additions and 2 deletions
+1 -1
View File
@@ -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");
}
+8
View File
@@ -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 {
+3
View File
@@ -137,6 +137,9 @@ class SettingsStruct_tmpl
bool UseNTP() const;
void UseNTP(bool value);
bool AllowTaskValueSetAllPlugins() const;
void AllowTaskValueSetAllPlugins(bool value);
void validate();
+2 -1
View File
@@ -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;
+1
View File
@@ -52,6 +52,7 @@ struct LabelType {
JSON_BOOL_QUOTES,
ENABLE_TIMING_STATISTICS,
TASKVALUESET_ALL_PLUGINS,
BOOT_TYPE, // Cold boot
BOOT_COUNT, // 0
+3
View File
@@ -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