From 00d600f8b8c65923b5e4b55f74ffbd40952997c1 Mon Sep 17 00:00:00 2001 From: Mat931 <49403702+Mat931@users.noreply.github.com> Date: Sun, 26 Apr 2026 18:24:30 +0200 Subject: [PATCH] Fix bootloop if nvs partition is missing or has non-default label --- esphome/components/esp32/preferences.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/esphome/components/esp32/preferences.cpp b/esphome/components/esp32/preferences.cpp index 925c4e76624..d2c7e265150 100644 --- a/esphome/components/esp32/preferences.cpp +++ b/esphome/components/esp32/preferences.cpp @@ -70,8 +70,13 @@ bool ESP32PreferenceBackend::load(uint8_t *data, size_t len) { } void ESP32Preferences::open() { - nvs_flash_init(); - esp_err_t err = nvs_open("esphome", NVS_READWRITE, &this->nvs_handle); + esp_err_t err = nvs_flash_init(); + if (err != 0) { + this->nvs_handle = 0; + return; + } + + err = nvs_open("esphome", NVS_READWRITE, &this->nvs_handle); if (err == 0) return;