[SYS] Avoid nvs errors (#1588)
Avoid nvs errors when trying to load or erase non-existent nvs preferences.
This commit is contained in:
1 parent
9b6133ff03
commit
e560bd7904
3 files changed
+11
-2
No files matched your search
@@ -46,11 +46,13 @@ void ONOFFConfig_fromJson(JsonObject& ONOFFdata) {
|
|||||||
if (ONOFFdata.containsKey("erase") && ONOFFdata["erase"].as<bool>()) {
|
if (ONOFFdata.containsKey("erase") && ONOFFdata["erase"].as<bool>()) {
|
||||||
// Erase config from NVS (non-volatile storage)
|
// Erase config from NVS (non-volatile storage)
|
||||||
preferences.begin(Gateway_Short_Name, false);
|
preferences.begin(Gateway_Short_Name, false);
|
||||||
|
if (preferences.isKey("ONOFFConfig")) {
|
||||||
preferences.remove("ONOFFConfig");
|
preferences.remove("ONOFFConfig");
|
||||||
preferences.end();
|
preferences.end();
|
||||||
Log.notice(F("ONOFF config erased" CR));
|
Log.notice(F("ONOFF config erased" CR));
|
||||||
return; // Erase prevails on save, so skipping save
|
return; // Erase prevails on save, so skipping save
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (ONOFFdata.containsKey("save") && ONOFFdata["save"].as<bool>()) {
|
if (ONOFFdata.containsKey("save") && ONOFFdata["save"].as<bool>()) {
|
||||||
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
||||||
JsonObject jo = jsonBuffer.to<JsonObject>();
|
JsonObject jo = jsonBuffer.to<JsonObject>();
|
||||||
@@ -69,6 +71,7 @@ void ONOFFConfig_fromJson(JsonObject& ONOFFdata) {
|
|||||||
void ONOFFConfig_load() {
|
void ONOFFConfig_load() {
|
||||||
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
||||||
preferences.begin(Gateway_Short_Name, true);
|
preferences.begin(Gateway_Short_Name, true);
|
||||||
|
if (preferences.isKey("ONOFFConfig")) {
|
||||||
auto error = deserializeJson(jsonBuffer, preferences.getString("ONOFFConfig", "{}"));
|
auto error = deserializeJson(jsonBuffer, preferences.getString("ONOFFConfig", "{}"));
|
||||||
preferences.end();
|
preferences.end();
|
||||||
if (error) {
|
if (error) {
|
||||||
@@ -83,6 +86,7 @@ void ONOFFConfig_load() {
|
|||||||
ONOFFConfig_fromJson(jo);
|
ONOFFConfig_fromJson(jo);
|
||||||
Log.notice(F("ONOFF config loaded" CR));
|
Log.notice(F("ONOFF config loaded" CR));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
# else
|
# else
|
||||||
void ONOFFConfig_init(){};
|
void ONOFFConfig_init(){};
|
||||||
void ONOFFConfig_fromJson(JsonObject& ONOFFdata){};
|
void ONOFFConfig_fromJson(JsonObject& ONOFFdata){};
|
||||||
|
|||||||
@@ -176,8 +176,10 @@ void MQTTtoSSD1306(char* topicOri, JsonObject& SSD1306data) { // json object dec
|
|||||||
} else if (SSD1306data.containsKey("erase") && SSD1306data["erase"]) {
|
} else if (SSD1306data.containsKey("erase") && SSD1306data["erase"]) {
|
||||||
// Erase config from NVS (non-volatile storage)
|
// Erase config from NVS (non-volatile storage)
|
||||||
preferences.begin(Gateway_Short_Name, false);
|
preferences.begin(Gateway_Short_Name, false);
|
||||||
|
if (preferences.isKey("SSD1306Config")) {
|
||||||
success = preferences.remove("SSD1306Config");
|
success = preferences.remove("SSD1306Config");
|
||||||
preferences.end();
|
preferences.end();
|
||||||
|
}
|
||||||
if (success) {
|
if (success) {
|
||||||
Log.notice(F("SSD1306 config erased" CR));
|
Log.notice(F("SSD1306 config erased" CR));
|
||||||
}
|
}
|
||||||
@@ -222,8 +224,7 @@ void SSD1306Config_init() {
|
|||||||
bool SSD1306Config_load() {
|
bool SSD1306Config_load() {
|
||||||
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
||||||
preferences.begin(Gateway_Short_Name, true);
|
preferences.begin(Gateway_Short_Name, true);
|
||||||
bool exists = preferences.isKey("SSD1306Config");
|
if (preferences.isKey("SSD1306Config")) {
|
||||||
if (exists) {
|
|
||||||
auto error = deserializeJson(jsonBuffer, preferences.getString("SSD1306Config", "{}"));
|
auto error = deserializeJson(jsonBuffer, preferences.getString("SSD1306Config", "{}"));
|
||||||
preferences.end();
|
preferences.end();
|
||||||
if (error) {
|
if (error) {
|
||||||
|
|||||||
@@ -221,11 +221,13 @@ void BTConfig_fromJson(JsonObject& BTdata, bool startup = false) {
|
|||||||
if (BTdata.containsKey("erase") && BTdata["erase"].as<bool>()) {
|
if (BTdata.containsKey("erase") && BTdata["erase"].as<bool>()) {
|
||||||
// Erase config from NVS (non-volatile storage)
|
// Erase config from NVS (non-volatile storage)
|
||||||
preferences.begin(Gateway_Short_Name, false);
|
preferences.begin(Gateway_Short_Name, false);
|
||||||
|
if (preferences.isKey("BTConfig")) {
|
||||||
preferences.remove("BTConfig");
|
preferences.remove("BTConfig");
|
||||||
preferences.end();
|
preferences.end();
|
||||||
Log.notice(F("BT config erased" CR));
|
Log.notice(F("BT config erased" CR));
|
||||||
return; // Erase prevails on save, so skipping save
|
return; // Erase prevails on save, so skipping save
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (BTdata.containsKey("save") && BTdata["save"].as<bool>()) {
|
if (BTdata.containsKey("save") && BTdata["save"].as<bool>()) {
|
||||||
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
||||||
@@ -262,6 +264,7 @@ void BTConfig_fromJson(JsonObject& BTdata, bool startup = false) {
|
|||||||
void BTConfig_load() {
|
void BTConfig_load() {
|
||||||
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
||||||
preferences.begin(Gateway_Short_Name, true);
|
preferences.begin(Gateway_Short_Name, true);
|
||||||
|
if (preferences.isKey("BTConfig")) {
|
||||||
auto error = deserializeJson(jsonBuffer, preferences.getString("BTConfig", "{}"));
|
auto error = deserializeJson(jsonBuffer, preferences.getString("BTConfig", "{}"));
|
||||||
preferences.end();
|
preferences.end();
|
||||||
Log.notice(F("BT config loaded" CR));
|
Log.notice(F("BT config loaded" CR));
|
||||||
@@ -277,6 +280,7 @@ void BTConfig_load() {
|
|||||||
BTConfig_fromJson(jo, true); // Never send MQTT message with config
|
BTConfig_fromJson(jo, true); // Never send MQTT message with config
|
||||||
Log.notice(F("BT config loaded" CR));
|
Log.notice(F("BT config loaded" CR));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void pubBTMainCore(JsonObject& data, bool haPresenceEnabled = true) {
|
void pubBTMainCore(JsonObject& data, bool haPresenceEnabled = true) {
|
||||||
if (abs((int)data["rssi"] | 0) < abs(BTConfig.minRssi) && data.containsKey("id")) {
|
if (abs((int)data["rssi"] | 0) < abs(BTConfig.minRssi) && data.containsKey("id")) {
|
||||||
|
|||||||
Reference in new issue
Block a user