ESPHome 2025.9.0-dev
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
9namespace esphome {
10namespace ethernet_info {
11
13 public:
14 void update() override {
16 if (ips != this->last_ips_) {
17 this->last_ips_ = ips;
18 this->publish_state(ips[0].str());
19 uint8_t sensor = 0;
20 for (auto &ip : ips) {
21 if (ip.is_set()) {
22 if (this->ip_sensors_[sensor] != nullptr) {
23 this->ip_sensors_[sensor]->publish_state(ip.str());
24 }
25 sensor++;
26 }
27 }
28 }
29 }
30
31 float get_setup_priority() const override { return setup_priority::ETHERNET; }
32 void dump_config() override;
33 void add_ip_sensors(uint8_t index, text_sensor::TextSensor *s) { this->ip_sensors_[index] = s; }
34
35 protected:
37 std::array<text_sensor::TextSensor *, 5> ip_sensors_;
38};
39
41 public:
42 void update() override {
45
46 std::string dns_results = dns_one.str() + " " + dns_two.str();
47
48 if (dns_results != this->last_results_) {
49 this->last_results_ = dns_results;
50 this->publish_state(dns_results);
51 }
52 }
53 float get_setup_priority() const override { return setup_priority::ETHERNET; }
54 void dump_config() override;
55
56 protected:
57 std::string last_results_;
58};
59
61 public:
62 void setup() override { this->publish_state(ethernet::global_eth_component->get_eth_mac_address_pretty()); }
63 float get_setup_priority() const override { return setup_priority::ETHERNET; }
64 void dump_config() override;
65};
66
67} // namespace ethernet_info
68} // namespace esphome
69
70#endif // USE_ESP32
This class simplifies creating components that periodically check a state.
Definition component.h:425
network::IPAddress get_dns_address(uint8_t num)
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:144
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
std::string str() const
Definition ip_address.h:52