21 lines
602 B
C++
21 lines
602 B
C++
#include "output_button.h"
|
|
#include "esphome/core/log.h"
|
|
|
|
namespace esphome {
|
|
namespace output {
|
|
|
|
static const char *const TAG = "output.button";
|
|
|
|
void OutputButton::dump_config() {
|
|
LOG_BUTTON("", "Output Button", this);
|
|
ESP_LOGCONFIG(TAG, " Duration: %.1fs", this->duration_ / 1e3f);
|
|
}
|
|
void OutputButton::press_action() {
|
|
this->output_->turn_on();
|
|
|
|
// Use a named timeout so that it's automatically cancelled if button is pressed again before it's reset
|
|
this->set_timeout("reset", this->duration_, [this]() { this->output_->turn_off(); });
|
|
}
|
|
|
|
} // namespace output
|
|
} // namespace esphome
|