diff --git a/usermods/usermod_v2_auto_save/usermod_v2_auto_save.h b/usermods/usermod_v2_auto_save/usermod_v2_auto_save.h
index 41e0a7ec..8283aeed 100644
--- a/usermods/usermod_v2_auto_save/usermod_v2_auto_save.h
+++ b/usermods/usermod_v2_auto_save/usermod_v2_auto_save.h
@@ -91,6 +91,10 @@ class AutoSaveUsermod : public Usermod {
#endif
}
+ void enable(bool enable) {
+ enabled = enable;
+ }
+
public:
// gets called once at boot. Do all initialization that doesn't depend on
@@ -155,12 +159,24 @@ class AutoSaveUsermod : public Usermod {
* Creating an "u" object allows you to add custom key/value pairs to the Info section of the WLED web UI.
* Below it is shown how this could be used for e.g. a light sensor
*/
- //void addToJsonInfo(JsonObject& root) {
- //JsonObject user = root["u"];
- //if (user.isNull()) user = root.createNestedObject("u");
- //JsonArray data = user.createNestedArray(F("Autosave"));
- //data.add(F("Loaded."));
- //}
+ void addToJsonInfo(JsonObject& root) {
+ JsonObject user = root["u"];
+ if (user.isNull()) {
+ user = root.createNestedObject("u");
+ }
+
+ JsonArray infoArr = user.createNestedArray(FPSTR(_name)); // name
+
+ String uiDomString = F("");
+ infoArr.add(uiDomString);
+ }
/*
* addToJsonState() can be used to add custom entries to the /json/state part of the JSON API (state object).
@@ -173,9 +189,20 @@ class AutoSaveUsermod : public Usermod {
* readFromJsonState() can be used to receive data clients send to the /json/state part of the JSON API (state object).
* Values in the state object may be modified by connected clients
*/
- //void readFromJsonState(JsonObject& root) {
- // if (!initDone) return; // prevent crash on boot applyPreset()
- //}
+ void readFromJsonState(JsonObject& root) {
+ if (!initDone) return; // prevent crash on boot applyPreset()
+ bool en = enabled;
+ JsonObject um = root[FPSTR(_name)];
+ if (!um.isNull()) {
+ if (um[FPSTR(_autoSaveEnabled)].is()) {
+ en = um[FPSTR(_autoSaveEnabled)].as();
+ } else {
+ String str = um[FPSTR(_autoSaveEnabled)]; // checkbox -> off or on
+ en = (bool)(str!="off"); // off is guaranteed to be present
+ }
+ if (en != enabled) enable(en);
+ }
+ }
/*
* addToConfig() can be used to add custom persistent settings to the cfg.json file in the "um" (usermod) object.