ESPHome 2025.5.0
Loading...
Searching...
No Matches
gpio_switch.h
Go to the documentation of this file.
1#pragma once
2
4#include "esphome/core/hal.h"
6
7#include <vector>
8
9namespace esphome {
10namespace gpio {
11
12class GPIOSwitch : public switch_::Switch, public Component {
13 public:
14 void set_pin(GPIOPin *pin) { pin_ = pin; }
15
16 // ========== INTERNAL METHODS ==========
17 // (In most use cases you won't need these)
18 float get_setup_priority() const override;
19
20 void setup() override;
21 void dump_config() override;
22 void set_interlock(const std::vector<Switch *> &interlock);
23 void set_interlock_wait_time(uint32_t interlock_wait_time) { interlock_wait_time_ = interlock_wait_time; }
24
25 protected:
26 void write_state(bool state) override;
27
29 std::vector<Switch *> interlock_;
31};
32
33} // namespace gpio
34} // namespace esphome
void dump_config() override
float get_setup_priority() const override
void set_interlock(const std::vector< Switch * > &interlock)
void set_interlock_wait_time(uint32_t interlock_wait_time)
Definition gpio_switch.h:23
void write_state(bool state) override
void set_pin(GPIOPin *pin)
Definition gpio_switch.h:14
std::vector< Switch * > interlock_
Definition gpio_switch.h:29
Base class for all switches.
Definition switch.h:39
bool state
The current reported state of the binary sensor.
Definition switch.h:53
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7