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 { | class TemplateBinarySensor : public Component, public binary_sensor::BinarySensor { | ||||||
|  public: |  public: | ||||||
|   template<typename F> void set_template(F &&f) { |   template<typename F> void set_template(F &&f) { this->f_.set(std::forward<F>(f)); } | ||||||
|     this->f_.set(std::forward<F>(f)); |  | ||||||
|     this->enable_loop(); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   void setup() override; |   void setup() override; | ||||||
|   void loop() override; |   void loop() override; | ||||||
|   | |||||||
| @@ -18,14 +18,8 @@ class TemplateCover : public cover::Cover, public Component { | |||||||
|  public: |  public: | ||||||
|   TemplateCover(); |   TemplateCover(); | ||||||
|  |  | ||||||
|   template<typename F> void set_state_lambda(F &&f) { |   template<typename F> void set_state_lambda(F &&f) { this->state_f_.set(std::forward<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)); } | ||||||
|     this->enable_loop(); |  | ||||||
|   } |  | ||||||
|   template<typename F> void set_tilt_lambda(F &&f) { |  | ||||||
|     this->tilt_f_.set(std::forward<F>(f)); |  | ||||||
|     this->enable_loop(); |  | ||||||
|   } |  | ||||||
|   Trigger<> *get_open_trigger() const; |   Trigger<> *get_open_trigger() const; | ||||||
|   Trigger<> *get_close_trigger() const; |   Trigger<> *get_close_trigger() const; | ||||||
|   Trigger<> *get_stop_trigger() const; |   Trigger<> *get_stop_trigger() const; | ||||||
|   | |||||||
| @@ -11,6 +11,11 @@ static const char *const TAG = "template.lock"; | |||||||
| TemplateLock::TemplateLock() | TemplateLock::TemplateLock() | ||||||
|     : lock_trigger_(new Trigger<>()), unlock_trigger_(new Trigger<>()), open_trigger_(new Trigger<>()) {} |     : 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() { | void TemplateLock::loop() { | ||||||
|   auto val = this->f_(); |   auto val = this->f_(); | ||||||
|   if (val.has_value()) { |   if (val.has_value()) { | ||||||
|   | |||||||
| @@ -12,12 +12,10 @@ class TemplateLock : public lock::Lock, public Component { | |||||||
|  public: |  public: | ||||||
|   TemplateLock(); |   TemplateLock(); | ||||||
|  |  | ||||||
|  |   void setup() override; | ||||||
|   void dump_config() override; |   void dump_config() override; | ||||||
|  |  | ||||||
|   template<typename F> void set_state_lambda(F &&f) { |   template<typename F> void set_state_lambda(F &&f) { this->f_.set(std::forward<F>(f)); } | ||||||
|     this->f_.set(std::forward<F>(f)); |  | ||||||
|     this->enable_loop(); |  | ||||||
|   } |  | ||||||
|   Trigger<> *get_lock_trigger() const; |   Trigger<> *get_lock_trigger() const; | ||||||
|   Trigger<> *get_unlock_trigger() const; |   Trigger<> *get_unlock_trigger() const; | ||||||
|   Trigger<> *get_open_trigger() const; |   Trigger<> *get_open_trigger() const; | ||||||
|   | |||||||
| @@ -15,10 +15,7 @@ class TemplateSwitch : public switch_::Switch, public Component { | |||||||
|   void setup() override; |   void setup() override; | ||||||
|   void dump_config() override; |   void dump_config() override; | ||||||
|  |  | ||||||
|   template<typename F> void set_state_lambda(F &&f) { |   template<typename F> void set_state_lambda(F &&f) { this->f_.set(std::forward<F>(f)); } | ||||||
|     this->f_.set(std::forward<F>(f)); |  | ||||||
|     this->enable_loop(); |  | ||||||
|   } |  | ||||||
|   Trigger<> *get_turn_on_trigger() const; |   Trigger<> *get_turn_on_trigger() const; | ||||||
|   Trigger<> *get_turn_off_trigger() const; |   Trigger<> *get_turn_off_trigger() const; | ||||||
|   void set_optimistic(bool optimistic); |   void set_optimistic(bool optimistic); | ||||||
|   | |||||||
| @@ -18,10 +18,7 @@ class TemplateValve : public valve::Valve, public Component { | |||||||
|  public: |  public: | ||||||
|   TemplateValve(); |   TemplateValve(); | ||||||
|  |  | ||||||
|   template<typename F> void set_state_lambda(F &&f) { |   template<typename F> void set_state_lambda(F &&f) { this->state_f_.set(std::forward<F>(f)); } | ||||||
|     this->state_f_.set(std::forward<F>(f)); |  | ||||||
|     this->enable_loop(); |  | ||||||
|   } |  | ||||||
|   Trigger<> *get_open_trigger() const; |   Trigger<> *get_open_trigger() const; | ||||||
|   Trigger<> *get_close_trigger() const; |   Trigger<> *get_close_trigger() const; | ||||||
|   Trigger<> *get_stop_trigger() const; |   Trigger<> *get_stop_trigger() const; | ||||||
|   | |||||||
| @@ -32,6 +32,7 @@ switch: | |||||||
|     name: "Test Switch" |     name: "Test Switch" | ||||||
|     id: test_switch |     id: test_switch | ||||||
|     optimistic: true |     optimistic: true | ||||||
|  |     lambda: return false; | ||||||
|  |  | ||||||
| interval: | interval: | ||||||
|   - interval: 0.5s |   - interval: 0.5s | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user