ESPHome
2026.5.0-dev
Loading...
Searching...
No Matches
esphome
components
number
number.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/core/component.h
"
4
#include "
esphome/core/entity_base.h
"
5
#include "
esphome/core/helpers.h
"
6
#include "
number_call.h
"
7
#include "
number_traits.h
"
8
9
namespace
esphome::number
{
10
11
class
Number;
12
void
log_number
(
const
char
*
tag
,
const
char
*prefix,
const
char
*
type
, Number *obj);
13
14
#define LOG_NUMBER(prefix, type, obj) log_number(TAG, prefix, LOG_STR_LITERAL(type), obj)
15
16
#define SUB_NUMBER(name) \
17
protected: \
18
number::Number *name##_number_{nullptr}; \
19
\
20
public: \
21
void set_##name##_number(number::Number *number) { this->name##_number_ = number; }
22
23
class
Number;
24
29
class
Number
:
public
EntityBase
{
30
public
:
31
float
state
;
32
33
void
publish_state
(
float
state
);
34
35
NumberCall
make_call
() {
return
NumberCall
(
this
); }
36
37
template
<
typename
F>
void
add_on_state_callback
(F &&callback) {
38
this->
state_callback_
.add(std::forward<F>(callback));
39
}
40
41
NumberTraits
traits
;
42
43
protected
:
44
friend
class
NumberCall
;
45
52
virtual
void
control
(
float
value) = 0;
53
54
LazyCallbackManager
<void(
float
)>
state_callback_
;
55
};
56
57
}
// namespace esphome::number
esphome::EntityBase
Definition
entity_base.h:68
esphome::LazyCallbackManager
Definition
helpers.h:1924
esphome::number::NumberCall
Definition
number_call.h:20
esphome::number::Number
Base-class for all numbers.
Definition
number.h:29
esphome::number::Number::make_call
NumberCall make_call()
Definition
number.h:35
esphome::number::Number::control
virtual void control(float value)=0
Set the value of the number, this is a virtual method that each number integration must implement.
esphome::number::Number::publish_state
void publish_state(float state)
Definition
number.cpp:22
esphome::number::Number::add_on_state_callback
void add_on_state_callback(F &&callback)
Definition
number.h:37
esphome::number::Number::NumberCall
friend class NumberCall
Definition
number.h:44
esphome::number::Number::traits
NumberTraits traits
Definition
number.h:41
esphome::number::Number::state_callback_
LazyCallbackManager< void(float)> state_callback_
Definition
number.h:54
esphome::number::Number::state
float state
Definition
number.h:31
esphome::number::NumberTraits
Definition
number_traits.h:14
component.h
type
uint16_t type
Definition
dns_server_esp32_idf.cpp:0
entity_base.h
helpers.h
esphome::number
Definition
automation.cpp:4
esphome::number::log_number
void log_number(const char *tag, const char *prefix, const char *type, Number *obj)
Definition
number.cpp:11
esphome::tag
const char * tag
Definition
log.h:74
number_call.h
number_traits.h
Generated by
1.12.0