ESPHome 2026.1.0-dev
Loading...
Searching...
No Matches
uart_switch.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <cinttypes>
8#include <vector>
9
10namespace esphome::uart {
11
12class UARTSwitch : public switch_::Switch, public UARTDevice, public Component {
13 public:
14 void loop() override;
15
16 void set_data_on(std::vector<uint8_t> &&data) { this->data_on_ = std::move(data); }
17 void set_data_on(std::initializer_list<uint8_t> data) { this->data_on_ = std::vector<uint8_t>(data); }
18 void set_data_off(std::vector<uint8_t> &&data) { this->data_off_ = std::move(data); }
19 void set_data_off(std::initializer_list<uint8_t> data) { this->data_off_ = std::vector<uint8_t>(data); }
20 void set_send_every(uint32_t send_every) { this->send_every_ = send_every; }
21 void set_single_state(bool single) { this->single_state_ = single; }
22
23 void dump_config() override;
24
25 protected:
26 void write_command_(bool state);
27 void write_state(bool state) override;
28 std::vector<uint8_t> data_on_;
29 std::vector<uint8_t> data_off_;
30 bool single_state_{false};
31 uint32_t send_every_;
33};
34
35} // namespace esphome::uart
Base class for all switches.
Definition switch.h:39
bool state
The current reported state of the binary sensor.
Definition switch.h:56
std::vector< uint8_t > data_off_
Definition uart_switch.h:29
void write_state(bool state) override
void set_data_on(std::vector< uint8_t > &&data)
Definition uart_switch.h:16
void set_data_off(std::initializer_list< uint8_t > data)
Definition uart_switch.h:19
void write_command_(bool state)
std::vector< uint8_t > data_on_
Definition uart_switch.h:28
void dump_config() override
void set_data_on(std::initializer_list< uint8_t > data)
Definition uart_switch.h:17
void set_single_state(bool single)
Definition uart_switch.h:21
void set_data_off(std::vector< uint8_t > &&data)
Definition uart_switch.h:18
void set_send_every(uint32_t send_every)
Definition uart_switch.h:20