ESPHome 2026.10.2
Loading...
Searching...
No Matches
automation.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome::lock {
8
11template<LockState State> struct LockStateForwarder {
14 if (state == State)
15 this->automation->trigger();
16 }
17};
18
19static_assert(sizeof(LockStateForwarder<LockState::LOCK_STATE_LOCKED>) <= sizeof(void *));
20static_assert(std::is_trivially_copyable_v<LockStateForwarder<LockState::LOCK_STATE_LOCKED>>);
21
22} // namespace esphome::lock
void trigger(const Ts &...x) ESPHOME_ALWAYS_INLINE
Definition automation.h:690
bool state
Definition fan.h:2
LockState
Enum for all states a lock can be in.
Definition lock.h:23
Callback forwarder that triggers an Automation<> only when a specific lock state is entered.
Definition automation.h:11
void operator()(LockState state) const
Definition automation.h:13