#pragma once #include "esphome/core/automation.h" #include "esphome/components/output/binary_output.h" #include "esphome/components/output/float_output.h" namespace esphome { namespace template_ { class TemplateBinaryOutput : public output::BinaryOutput { public: Trigger *get_trigger() const { return trigger_; } protected: void write_state(bool state) override { this->trigger_->trigger(state); } Trigger *trigger_ = new Trigger(); }; class TemplateFloatOutput : public output::FloatOutput { public: Trigger *get_trigger() const { return trigger_; } protected: void write_state(float state) override { this->trigger_->trigger(state); } Trigger *trigger_ = new Trigger(); }; } // namespace template_ } // namespace esphome