#pragma once #include "esphome/core/automation.h" namespace esphome { namespace script { class Script : public Trigger<> { public: void execute() { this->trigger(); } }; template class ScriptExecuteAction : public Action { public: ScriptExecuteAction(Script *script) : script_(script) {} void play(Ts... x) override { this->script_->trigger(); } protected: Script *script_; }; template class ScriptStopAction : public Action { public: ScriptStopAction(Script *script) : script_(script) {} void play(Ts... x) override { this->script_->stop(); } protected: Script *script_; }; } // namespace script } // namespace esphome