ESPHome
2026.8.0-dev
Loading...
Searching...
No Matches
esphome
components
preferences
syncer.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/core/preferences.h
"
4
#include "
esphome/core/component.h
"
5
6
namespace
esphome::preferences
{
7
8
class
IntervalSyncer
final :
public
Component
{
9
public
:
10
#ifdef USE_PREFERENCES_SYNC_EVERY_LOOP
11
void
loop
()
override
{
global_preferences
->
sync
(); }
12
#else
13
void
set_write_interval
(
uint32_t
write_interval) { this->
write_interval_
= write_interval; }
14
void
setup
()
override
{
15
this->
set_interval
(this->
write_interval_
, []() {
global_preferences
->
sync
(); });
16
}
17
#endif
18
void
on_shutdown
()
override
{
global_preferences
->
sync
(); }
19
float
get_setup_priority
()
const override
{
return
setup_priority::BUS
; }
20
21
#ifndef USE_PREFERENCES_SYNC_EVERY_LOOP
22
protected
:
23
uint32_t
write_interval_
{60000};
24
#endif
25
};
26
27
}
// namespace esphome::preferences
esphome::Component
Definition
component.h:145
esphome::Component::set_interval
void set_interval(const char *name, uint32_t interval, std::function< void()> &&f)
Set an interval function with a const char* name.
Definition
component.cpp:88
esphome::preferences::IntervalSyncer
Definition
syncer.h:8
esphome::preferences::IntervalSyncer::write_interval_
uint32_t write_interval_
Definition
syncer.h:23
esphome::preferences::IntervalSyncer::set_write_interval
void set_write_interval(uint32_t write_interval)
Definition
syncer.h:13
esphome::preferences::IntervalSyncer::loop
void loop() override
Definition
syncer.h:11
esphome::preferences::IntervalSyncer::get_setup_priority
float get_setup_priority() const override
Definition
syncer.h:19
esphome::preferences::IntervalSyncer::on_shutdown
void on_shutdown() override
Definition
syncer.h:18
esphome::preferences::IntervalSyncer::setup
void setup() override
Definition
syncer.h:14
component.h
preferences.h
esphome::preferences
Definition
syncer.h:6
esphome::setup_priority::BUS
constexpr float BUS
For communication buses like i2c/spi.
Definition
component.h:39
esphome::global_preferences
ESPPreferences * global_preferences
Definition
preferences.cpp:312
uint32_t
static void uint32_t
Definition
crash_handler.cpp:141
esphome::Preferences::sync
bool sync()
Commit pending writes to flash.
Definition
preferences.h:32
Generated by
1.12.0