ESPHome
2025.5.0
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
{
7
namespace
preferences {
8
9
class
IntervalSyncer
:
public
Component
{
10
public
:
11
void
set_write_interval
(uint32_t write_interval) { this->
write_interval_
= write_interval; }
12
void
setup
()
override
{
13
if
(this->
write_interval_
!= 0) {
14
set_interval
(this->
write_interval_
, []() {
global_preferences
->
sync
(); });
15
}
16
}
17
void
loop
()
override
{
18
if
(this->
write_interval_
== 0) {
19
global_preferences
->
sync
();
20
}
21
}
22
void
on_shutdown
()
override
{
global_preferences
->
sync
(); }
23
float
get_setup_priority
()
const override
{
return
setup_priority::BUS
; }
24
25
protected
:
26
uint32_t
write_interval_
{60000};
27
};
28
29
}
// namespace preferences
30
}
// namespace esphome
esphome::Component
Definition
component.h:70
esphome::Component::set_interval
void set_interval(const std::string &name, uint32_t interval, std::function< void()> &&f)
Set an interval function with a unique name.
Definition
component.cpp:55
esphome::ESPPreferences::sync
virtual bool sync()=0
Commit pending writes to flash.
esphome::preferences::IntervalSyncer
Definition
syncer.h:9
esphome::preferences::IntervalSyncer::write_interval_
uint32_t write_interval_
Definition
syncer.h:26
esphome::preferences::IntervalSyncer::set_write_interval
void set_write_interval(uint32_t write_interval)
Definition
syncer.h:11
esphome::preferences::IntervalSyncer::loop
void loop() override
Definition
syncer.h:17
esphome::preferences::IntervalSyncer::get_setup_priority
float get_setup_priority() const override
Definition
syncer.h:23
esphome::preferences::IntervalSyncer::on_shutdown
void on_shutdown() override
Definition
syncer.h:22
esphome::preferences::IntervalSyncer::setup
void setup() override
Definition
syncer.h:12
component.h
preferences.h
esphome::setup_priority::BUS
const float BUS
For communication buses like i2c/spi.
Definition
component.cpp:16
esphome
Providing packet encoding functions for exchanging data with a remote host.
Definition
a01nyub.cpp:7
esphome::global_preferences
ESPPreferences * global_preferences
Definition
preferences.cpp:195
Generated by
1.12.0