diff --git a/esphome/components/water_heater/water_heater.cpp b/esphome/components/water_heater/water_heater.cpp index fbb4181209..7266294d84 100644 --- a/esphome/components/water_heater/water_heater.cpp +++ b/esphome/components/water_heater/water_heater.cpp @@ -185,7 +185,7 @@ void WaterHeater::publish_state() { } optional WaterHeater::restore_state_() { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); SavedWaterHeaterState recovered{}; if (!this->pref_.load(&recovered)) return {}; diff --git a/esphome/core/entity_base.cpp b/esphome/core/entity_base.cpp index ebc3990fb9..7d7878f53a 100644 --- a/esphome/core/entity_base.cpp +++ b/esphome/core/entity_base.cpp @@ -127,7 +127,10 @@ ESPPreferenceObject EntityBase::make_entity_preference_(size_t size, uint32_t ve // this->migrate_entity_preference_(size, old_key, new_key); // return global_preferences->make_preference(size, new_key); // +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" uint32_t key = this->get_preference_hash() ^ version; +#pragma GCC diagnostic pop return global_preferences->make_preference(size, key); }