This commit is contained in:
J. Nick Koston
2025-11-29 23:35:05 -06:00
parent b4e6c38d65
commit 4b16a4bca2
2 changed files with 3 additions and 15 deletions

View File

@@ -25,21 +25,14 @@ void log_text_sensor(const char *tag, const char *prefix, const char *type, Text
}
void TextSensor::publish_state(const std::string &state) {
<<<<<<< Updated upstream
this->raw_state = state;
if (this->raw_callback_) {
this->raw_callback_->call(state);
}
=======
// Only store raw_state_ separately when filters exist
// When no filters, raw_state == state, so we avoid the duplicate storage
if (this->filter_list_ != nullptr) {
this->raw_state_ = state;
}
// Call raw callbacks (before filters)
this->callbacks_.call_first(this->raw_count_, state);
>>>>>>> Stashed changes
if (this->raw_callback_) {
this->raw_callback_->call(state);
}
ESP_LOGV(TAG, "'%s': Received new state %s", this->name_.c_str(), state.c_str());

View File

@@ -62,15 +62,10 @@ class TextSensor : public EntityBase, public EntityBase_DeviceClass {
CallbackManager<void(std::string)> callback_; ///< Storage for filtered state callbacks.
Filter *filter_list_{nullptr}; ///< Store all active filters.
<<<<<<< Updated upstream
=======
/// Raw state (before filters). Only populated when filters are configured.
/// When no filters exist, get_raw_state() returns state directly.
std::string raw_state_;
uint8_t raw_count_{0}; ///< Number of raw callbacks (partition point in callbacks_ vector)
>>>>>>> Stashed changes
};
} // namespace text_sensor