diff --git a/src/core/analogsensor.cpp b/src/core/analogsensor.cpp index 732a1def5..f643d272d 100644 --- a/src/core/analogsensor.cpp +++ b/src/core/analogsensor.cpp @@ -546,11 +546,13 @@ bool AnalogSensor::update(uint8_t gpio, const char * org_name, double offset, do if (deleted) { LOG_DEBUG("Removing analog sensor GPIO %02d", gpio); EMSESP::system_.remove_gpio(gpio); // remove from used list only - EMSESP::nvs_.remove(AnalogCustomization.name); + if (EMSESP::nvs_.isKey(AnalogCustomization.name)) { + EMSESP::nvs_.remove(AnalogCustomization.name); + } settings.analogCustomizations.remove(AnalogCustomization); } else { // update existing record - if (!strcmp(name, AnalogCustomization.name)) { + if (!strcmp(name, AnalogCustomization.name) && EMSESP::nvs_.isKey(AnalogCustomization.name)) { EMSESP::nvs_.remove(AnalogCustomization.name); } strlcpy(AnalogCustomization.name, name, sizeof(AnalogCustomization.name)); diff --git a/src/emsesp_version.h b/src/emsesp_version.h index 662177bb2..9c7c9b638 100644 --- a/src/emsesp_version.h +++ b/src/emsesp_version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.8.3-dev.11" +#define EMSESP_APP_VERSION "3.8.3-dev.8d" diff --git a/src/web/WebCustomEntityService.cpp b/src/web/WebCustomEntityService.cpp index 94c9bb024..1cd724874 100644 --- a/src/web/WebCustomEntityService.cpp +++ b/src/web/WebCustomEntityService.cpp @@ -77,7 +77,9 @@ StateUpdateResult WebCustomEntity::update(JsonObject root, WebCustomEntity & web if (entityItem.ram == 2) { // NVS char key[sizeof(entityItem.name) + 2]; snprintf(key, sizeof(key), "c:%s", entityItem.name); - EMSESP::nvs_.remove(key); + if (EMSESP::nvs_.isKey(key)) { + EMSESP::nvs_.remove(key); + } } if (entityItem.ram) { // save name/value pairs for change checking doc[entityItem.name] = entityItem.value; diff --git a/src/web/WebSchedulerService.cpp b/src/web/WebSchedulerService.cpp index 51cf59e68..03a3ceaca 100644 --- a/src/web/WebSchedulerService.cpp +++ b/src/web/WebSchedulerService.cpp @@ -76,7 +76,9 @@ StateUpdateResult WebScheduler::update(JsonObject root, WebScheduler & webSchedu for (ScheduleItem & scheduleItem : webScheduler.scheduleItems) { char key[sizeof(scheduleItem.name) + 2]; snprintf(key, sizeof(key), "s:%s", scheduleItem.name); - EMSESP::nvs_.remove(key); + if (EMSESP::nvs_.isKey(key)) { + EMSESP::nvs_.remove(key); + } } webScheduler.scheduleItems.clear(); EMSESP::webSchedulerService.ha_reset();