mirror of
https://github.com/esphome/esphome.git
synced 2025-11-01 15:41:52 +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