ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
wake_on_lan.h
Go to the documentation of this file.
1#pragma once
3#if defined(USE_NETWORK) && !defined(USE_ZEPHYR)
8
9namespace esphome::wake_on_lan {
10
11class WakeOnLanButton final : public button::Button, public Component {
12 public:
13 void set_macaddr(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f);
14
15 void dump_config() override;
16 void setup() override;
17 float get_setup_priority() const override { return setup_priority::AFTER_WIFI; }
18
19 protected:
20 std::unique_ptr<socket::UDPSendSocket> broadcast_socket_{};
21 void press_action() override;
22 uint16_t port_{9};
23 uint8_t macaddr_[MAC_ADDRESS_SIZE];
24};
25
26} // namespace esphome::wake_on_lan
27
28#endif // USE_NETWORK && !USE_ZEPHYR
Base class for all buttons.
Definition button.h:25
void set_macaddr(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f)
float get_setup_priority() const override
Definition wake_on_lan.h:17
std::unique_ptr< socket::UDPSendSocket > broadcast_socket_
Definition wake_on_lan.h:20
uint8_t macaddr_[MAC_ADDRESS_SIZE]
Definition wake_on_lan.h:23
constexpr float AFTER_WIFI
For components that should be initialized after WiFi is connected.
Definition component.h:55