ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
number.cpp
Go to the documentation of this file.
1#include "number.h"
4#include "esphome/core/log.h"
5
6namespace esphome::number {
7
8ESPHOME_LOG_TAG(TAG, "number");
9
10// Function implementation of LOG_NUMBER macro to reduce code size
11void log_number(const char *tag, const char *prefix, const char *type, Number *obj) {
12 if (!log_entity_header(tag, prefix, type, obj)) {
13 return;
14 }
15 LOG_ENTITY_ICON(tag, prefix, *obj);
16 LOG_ENTITY_UNIT_OF_MEASUREMENT(tag, prefix, *obj);
17 LOG_ENTITY_DEVICE_CLASS(tag, prefix, *obj);
18}
19
21 this->set_has_state(true);
22 this->state = state;
23 ESP_LOGV(TAG, "'%s' >> %.2f", LOG_STR_ARG(this->get_log_name()), state);
24 this->state_callback_.call(state);
25#if defined(USE_NUMBER) && defined(USE_CONTROLLER_REGISTRY)
26 ControllerRegistry::notify_number_update(this);
27#endif
28}
29
30} // namespace esphome::number
const LogString * get_log_name() const
Get the name for a "%s" log argument (LOG_STR_ARG).
void set_has_state(bool state)
Base-class for all numbers.
Definition number.h:29
void publish_state(float state)
Definition number.cpp:20
LazyCallbackManager< void(float)> state_callback_
Definition number.h:54
uint8_t type
bool state
Definition fan.h:2
ESPHOME_LOG_TAG(TAG, "number.automation")
void log_number(const char *tag, const char *prefix, const char *type, Number *obj)
Definition number.cpp:11
bool log_entity_header(const char *tag, const char *prefix, const char *type, const EntityBase *obj)
Log "<prefix><type> '<name>'" for a dump_config header; returns false when obj is null.