mirror of
https://github.com/esphome/esphome.git
synced 2024-12-01 03:04:12 +01:00
This commit is contained in:
parent
2b3052e9d7
commit
c4539e10fb
2 changed files with 12 additions and 14 deletions
|
@ -8,14 +8,13 @@ namespace template_ {
|
||||||
static const char *const TAG = "template.sensor";
|
static const char *const TAG = "template.sensor";
|
||||||
|
|
||||||
void TemplateSensor::update() {
|
void TemplateSensor::update() {
|
||||||
if (this->f_.has_value()) {
|
if (!this->f_.has_value())
|
||||||
|
return;
|
||||||
|
|
||||||
auto val = (*this->f_)();
|
auto val = (*this->f_)();
|
||||||
if (val.has_value()) {
|
if (val.has_value()) {
|
||||||
this->publish_state(*val);
|
this->publish_state(*val);
|
||||||
}
|
}
|
||||||
} else if (!std::isnan(this->get_raw_state())) {
|
|
||||||
this->publish_state(this->get_raw_state());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
float TemplateSensor::get_setup_priority() const { return setup_priority::HARDWARE; }
|
float TemplateSensor::get_setup_priority() const { return setup_priority::HARDWARE; }
|
||||||
void TemplateSensor::set_template(std::function<optional<float>()> &&f) { this->f_ = f; }
|
void TemplateSensor::set_template(std::function<optional<float>()> &&f) { this->f_ = f; }
|
||||||
|
|
|
@ -7,14 +7,13 @@ namespace template_ {
|
||||||
static const char *const TAG = "template.text_sensor";
|
static const char *const TAG = "template.text_sensor";
|
||||||
|
|
||||||
void TemplateTextSensor::update() {
|
void TemplateTextSensor::update() {
|
||||||
if (this->f_.has_value()) {
|
if (!this->f_.has_value())
|
||||||
|
return;
|
||||||
|
|
||||||
auto val = (*this->f_)();
|
auto val = (*this->f_)();
|
||||||
if (val.has_value()) {
|
if (val.has_value()) {
|
||||||
this->publish_state(*val);
|
this->publish_state(*val);
|
||||||
}
|
}
|
||||||
} else if (this->has_state()) {
|
|
||||||
this->publish_state(this->state);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
float TemplateTextSensor::get_setup_priority() const { return setup_priority::HARDWARE; }
|
float TemplateTextSensor::get_setup_priority() const { return setup_priority::HARDWARE; }
|
||||||
void TemplateTextSensor::set_template(std::function<optional<std::string>()> &&f) { this->f_ = f; }
|
void TemplateTextSensor::set_template(std::function<optional<std::string>()> &&f) { this->f_ = f; }
|
||||||
|
|
Loading…
Reference in a new issue