mirror of
https://github.com/esphome/esphome.git
synced 2025-09-28 16:12:24 +01:00
[text_sensor] Convert LOG_TEXT_SENSOR macro to function to reduce flash usage (#10884)
This commit is contained in:
@@ -155,7 +155,7 @@ void CCS811Component::dump_config() {
|
||||
LOG_UPDATE_INTERVAL(this);
|
||||
LOG_SENSOR(" ", "CO2 Sensor", this->co2_);
|
||||
LOG_SENSOR(" ", "TVOC Sensor", this->tvoc_);
|
||||
LOG_TEXT_SENSOR(" ", "Firmware Version Sensor", this->version_)
|
||||
LOG_TEXT_SENSOR(" ", "Firmware Version Sensor", this->version_);
|
||||
if (this->baseline_) {
|
||||
ESP_LOGCONFIG(TAG, " Baseline: %04X", *this->baseline_);
|
||||
} else {
|
||||
|
@@ -6,6 +6,22 @@ namespace text_sensor {
|
||||
|
||||
static const char *const TAG = "text_sensor";
|
||||
|
||||
void log_text_sensor(const char *tag, const char *prefix, const char *type, TextSensor *obj) {
|
||||
if (obj == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
ESP_LOGCONFIG(tag, "%s%s '%s'", prefix, type, obj->get_name().c_str());
|
||||
|
||||
if (!obj->get_device_class_ref().empty()) {
|
||||
ESP_LOGCONFIG(tag, "%s Device Class: '%s'", prefix, obj->get_device_class_ref().c_str());
|
||||
}
|
||||
|
||||
if (!obj->get_icon_ref().empty()) {
|
||||
ESP_LOGCONFIG(tag, "%s Icon: '%s'", prefix, obj->get_icon_ref().c_str());
|
||||
}
|
||||
}
|
||||
|
||||
void TextSensor::publish_state(const std::string &state) {
|
||||
this->raw_state = state;
|
||||
if (this->raw_callback_) {
|
||||
|
@@ -11,16 +11,9 @@
|
||||
namespace esphome {
|
||||
namespace text_sensor {
|
||||
|
||||
#define LOG_TEXT_SENSOR(prefix, type, obj) \
|
||||
if ((obj) != nullptr) { \
|
||||
ESP_LOGCONFIG(TAG, "%s%s '%s'", prefix, LOG_STR_LITERAL(type), (obj)->get_name().c_str()); \
|
||||
if (!(obj)->get_device_class_ref().empty()) { \
|
||||
ESP_LOGCONFIG(TAG, "%s Device Class: '%s'", prefix, (obj)->get_device_class_ref().c_str()); \
|
||||
} \
|
||||
if (!(obj)->get_icon_ref().empty()) { \
|
||||
ESP_LOGCONFIG(TAG, "%s Icon: '%s'", prefix, (obj)->get_icon_ref().c_str()); \
|
||||
} \
|
||||
}
|
||||
void log_text_sensor(const char *tag, const char *prefix, const char *type, TextSensor *obj);
|
||||
|
||||
#define LOG_TEXT_SENSOR(prefix, type, obj) log_text_sensor(TAG, prefix, LOG_STR_LITERAL(type), obj)
|
||||
|
||||
#define SUB_TEXT_SENSOR(name) \
|
||||
protected: \
|
||||
|
Reference in New Issue
Block a user