ESPHome 2026.2.4
Loading...
Searching...
No Matches
ethernet_info_text_sensor.h
Go to the documentation of this file.
1#pragma once
2
6
7#ifdef USE_ESP32
8
10
11#ifdef USE_ETHERNET_IP_STATE_LISTENERS
12class IPAddressEthernetInfo final : public Component,
15 public:
16 void setup() override;
17 void dump_config() override;
18 void add_ip_sensors(uint8_t index, text_sensor::TextSensor *s) { this->ip_sensors_[index] = s; }
19
20 // EthernetIPStateListener interface
21 void on_ip_state(const network::IPAddresses &ips, const network::IPAddress &dns1,
22 const network::IPAddress &dns2) override;
23
24 protected:
25 std::array<text_sensor::TextSensor *, 5> ip_sensors_{};
26};
27
28class DNSAddressEthernetInfo final : public Component,
31 public:
32 void setup() override;
33 void dump_config() override;
34
35 // EthernetIPStateListener interface
36 void on_ip_state(const network::IPAddresses &ips, const network::IPAddress &dns1,
37 const network::IPAddress &dns2) override;
38};
39#endif // USE_ETHERNET_IP_STATE_LISTENERS
40
42 public:
43 void setup() override {
44 char buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE];
45 this->publish_state(ethernet::global_eth_component->get_eth_mac_address_pretty_into_buffer(buf));
46 }
47 float get_setup_priority() const override { return setup_priority::ETHERNET; }
48 void dump_config() override;
49};
50
51} // namespace esphome::ethernet_info
52
53#endif // USE_ESP32
Listener interface for Ethernet IP state changes.
void on_ip_state(const network::IPAddresses &ips, const network::IPAddress &dns1, const network::IPAddress &dns2) override
void on_ip_state(const network::IPAddresses &ips, const network::IPAddress &dns1, const network::IPAddress &dns2) override
std::array< text_sensor::TextSensor *, 5 > ip_sensors_
void add_ip_sensors(uint8_t index, text_sensor::TextSensor *s)
void publish_state(const std::string &state)
EthernetComponent * global_eth_component
std::array< IPAddress, 5 > IPAddresses
Definition ip_address.h:188