mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 23:21:54 +00:00 
			
		
		
		
	Merge branch 'elimate_optional' into integration
This commit is contained in:
		| @@ -9,10 +9,7 @@ namespace template_ { | ||||
|  | ||||
| class TemplateBinarySensor : public Component, public binary_sensor::BinarySensor { | ||||
|  public: | ||||
|   template<typename F> void set_template(F &&f) { | ||||
|     this->f_.set(std::forward<F>(f)); | ||||
|     this->enable_loop(); | ||||
|   } | ||||
|   template<typename F> void set_template(F &&f) { this->f_.set(std::forward<F>(f)); } | ||||
|  | ||||
|   void setup() override; | ||||
|   void loop() override; | ||||
|   | ||||
| @@ -18,14 +18,8 @@ class TemplateCover : public cover::Cover, public Component { | ||||
|  public: | ||||
|   TemplateCover(); | ||||
|  | ||||
|   template<typename F> void set_state_lambda(F &&f) { | ||||
|     this->state_f_.set(std::forward<F>(f)); | ||||
|     this->enable_loop(); | ||||
|   } | ||||
|   template<typename F> void set_tilt_lambda(F &&f) { | ||||
|     this->tilt_f_.set(std::forward<F>(f)); | ||||
|     this->enable_loop(); | ||||
|   } | ||||
|   template<typename F> void set_state_lambda(F &&f) { this->state_f_.set(std::forward<F>(f)); } | ||||
|   template<typename F> void set_tilt_lambda(F &&f) { this->tilt_f_.set(std::forward<F>(f)); } | ||||
|   Trigger<> *get_open_trigger() const; | ||||
|   Trigger<> *get_close_trigger() const; | ||||
|   Trigger<> *get_stop_trigger() const; | ||||
|   | ||||
| @@ -11,6 +11,11 @@ static const char *const TAG = "template.lock"; | ||||
| TemplateLock::TemplateLock() | ||||
|     : lock_trigger_(new Trigger<>()), unlock_trigger_(new Trigger<>()), open_trigger_(new Trigger<>()) {} | ||||
|  | ||||
| void TemplateLock::setup() { | ||||
|   if (!this->f_.has_value()) | ||||
|     this->disable_loop(); | ||||
| } | ||||
|  | ||||
| void TemplateLock::loop() { | ||||
|   auto val = this->f_(); | ||||
|   if (val.has_value()) { | ||||
|   | ||||
| @@ -12,12 +12,10 @@ class TemplateLock : public lock::Lock, public Component { | ||||
|  public: | ||||
|   TemplateLock(); | ||||
|  | ||||
|   void setup() override; | ||||
|   void dump_config() override; | ||||
|  | ||||
|   template<typename F> void set_state_lambda(F &&f) { | ||||
|     this->f_.set(std::forward<F>(f)); | ||||
|     this->enable_loop(); | ||||
|   } | ||||
|   template<typename F> void set_state_lambda(F &&f) { this->f_.set(std::forward<F>(f)); } | ||||
|   Trigger<> *get_lock_trigger() const; | ||||
|   Trigger<> *get_unlock_trigger() const; | ||||
|   Trigger<> *get_open_trigger() const; | ||||
|   | ||||
| @@ -15,10 +15,7 @@ class TemplateSwitch : public switch_::Switch, public Component { | ||||
|   void setup() override; | ||||
|   void dump_config() override; | ||||
|  | ||||
|   template<typename F> void set_state_lambda(F &&f) { | ||||
|     this->f_.set(std::forward<F>(f)); | ||||
|     this->enable_loop(); | ||||
|   } | ||||
|   template<typename F> void set_state_lambda(F &&f) { this->f_.set(std::forward<F>(f)); } | ||||
|   Trigger<> *get_turn_on_trigger() const; | ||||
|   Trigger<> *get_turn_off_trigger() const; | ||||
|   void set_optimistic(bool optimistic); | ||||
|   | ||||
| @@ -18,10 +18,7 @@ class TemplateValve : public valve::Valve, public Component { | ||||
|  public: | ||||
|   TemplateValve(); | ||||
|  | ||||
|   template<typename F> void set_state_lambda(F &&f) { | ||||
|     this->state_f_.set(std::forward<F>(f)); | ||||
|     this->enable_loop(); | ||||
|   } | ||||
|   template<typename F> void set_state_lambda(F &&f) { this->state_f_.set(std::forward<F>(f)); } | ||||
|   Trigger<> *get_open_trigger() const; | ||||
|   Trigger<> *get_close_trigger() const; | ||||
|   Trigger<> *get_stop_trigger() const; | ||||
|   | ||||
| @@ -32,6 +32,7 @@ switch: | ||||
|     name: "Test Switch" | ||||
|     id: test_switch | ||||
|     optimistic: true | ||||
|     lambda: return false; | ||||
|  | ||||
| interval: | ||||
|   - interval: 0.5s | ||||
|   | ||||
		Reference in New Issue
	
	Block a user