ESPHome
2026.5.0b1
Loading...
Searching...
No Matches
esphome
components
opentherm
number
opentherm_number.cpp
Go to the documentation of this file.
1
#include "
opentherm_number.h
"
2
3
namespace
esphome::opentherm
{
4
5
static
const
char
*
const
TAG =
"opentherm.number"
;
6
7
void
OpenthermNumber::control
(
float
value) {
8
this->
publish_state
(value);
9
10
if
(this->
restore_value_
)
11
this->
pref_
.
save
(&value);
12
}
13
14
void
OpenthermNumber::setup
() {
15
float
value;
16
if
(!this->
restore_value_
) {
17
value = this->
initial_value_
;
18
}
else
{
19
this->
pref_
= this->
make_entity_preference<float>
();
20
if
(!this->
pref_
.
load
(&value)) {
21
if
(!std::isnan(this->
initial_value_
)) {
22
value = this->
initial_value_
;
23
}
else
{
24
value = this->
traits
.
get_min_value
();
25
}
26
}
27
}
28
this->
publish_state
(value);
29
}
30
31
void
OpenthermNumber::dump_config
() {
32
LOG_NUMBER(
""
,
"OpenTherm Number"
,
this
);
33
ESP_LOGCONFIG(TAG,
34
" Restore value: %d\n"
35
" Initial value: %.2f\n"
36
" Current value: %.2f"
,
37
this->
restore_value_
, this->
initial_value_
, this->
state
);
38
}
39
40
}
// namespace esphome::opentherm
esphome::ESPPreferenceObject::save
bool save(const T *src)
Definition
preference_backend.h:43
esphome::ESPPreferenceObject::load
bool load(T *dest)
Definition
preference_backend.h:49
esphome::EntityBase::make_entity_preference
ESPPreferenceObject make_entity_preference(uint32_t version=0)
Create a preference object for storing this entity's state/settings.
Definition
entity_base.h:233
esphome::number::Number::publish_state
void publish_state(float state)
Definition
number.cpp:22
esphome::number::Number::traits
NumberTraits traits
Definition
number.h:41
esphome::number::Number::state
float state
Definition
number.h:31
esphome::number::NumberTraits::get_min_value
float get_min_value() const
Definition
number_traits.h:18
esphome::opentherm::OpenthermNumber::restore_value_
bool restore_value_
Definition
opentherm_number.h:18
esphome::opentherm::OpenthermNumber::initial_value_
float initial_value_
Definition
opentherm_number.h:17
esphome::opentherm::OpenthermNumber::pref_
ESPPreferenceObject pref_
Definition
opentherm_number.h:20
esphome::opentherm::OpenthermNumber::dump_config
void dump_config() override
Definition
opentherm_number.cpp:31
esphome::opentherm::OpenthermNumber::setup
void setup() override
Definition
opentherm_number.cpp:14
esphome::opentherm::OpenthermNumber::control
void control(float value) override
Definition
opentherm_number.cpp:7
esphome::opentherm
Definition
automation.h:7
opentherm_number.h
Generated by
1.12.0