ESPHome 2026.1.0-dev
Loading...
Searching...
No Matches
template_lock.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome::template_ {
9
10class TemplateLock final : public lock::Lock, public Component {
11 public:
13
14 void setup() override;
15 void dump_config() override;
16
17 template<typename F> void set_state_lambda(F &&f) { this->f_.set(std::forward<F>(f)); }
21 void set_optimistic(bool optimistic);
22 void loop() override;
23
24 float get_setup_priority() const override;
25
26 protected:
27 void control(const lock::LockCall &call) override;
28 void open_latch() override;
29
31 bool optimistic_{false};
36};
37
38} // namespace esphome::template_
Lightweight wrapper for template platform lambdas (stateless function pointers only).
void set(optional< T >(*f)(Args...))
Set the lambda function pointer.
This class is used to encode all control actions on a lock device.
Definition lock.h:79
Base class for all locks.
Definition lock.h:111
float get_setup_priority() const override
void set_optimistic(bool optimistic)
void control(const lock::LockCall &call) override
TemplateLambda< lock::LockState > f_