ESPHome 2025.5.0
Loading...
Searching...
No Matches
mdns_component.h
Go to the documentation of this file.
1#pragma once
3#ifdef USE_MDNS
4#include <string>
5#include <vector>
8
9namespace esphome {
10namespace mdns {
11
16
18 // service name _including_ underscore character prefix
19 // as defined in RFC6763 Section 7
20 std::string service_type;
21 // second label indicating protocol _including_ underscore character prefix
22 // as defined in RFC6763 Section 7, like "_tcp" or "_udp"
23 std::string proto;
25 std::vector<MDNSTXTRecord> txt_records;
26};
27
28class MDNSComponent : public Component {
29 public:
30 void setup() override;
31 void dump_config() override;
32
33#if (defined(USE_ESP8266) || defined(USE_RP2040)) && defined(USE_ARDUINO)
34 void loop() override;
35#endif
36 float get_setup_priority() const override { return setup_priority::AFTER_WIFI; }
37
38 void add_extra_service(MDNSService service) { services_extra_.push_back(std::move(service)); }
39
40 void on_shutdown() override;
41
42 protected:
43 std::vector<MDNSService> services_extra_{};
44 std::vector<MDNSService> services_{};
45 std::string hostname_;
46 void compile_records_();
47};
48
49} // namespace mdns
50} // namespace esphome
51#endif
float get_setup_priority() const override
std::vector< MDNSService > services_
void add_extra_service(MDNSService service)
std::vector< MDNSService > services_extra_
const float AFTER_WIFI
For components that should be initialized after WiFi is connected.
Definition component.cpp:26
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
TemplatableValue< uint16_t > port
std::vector< MDNSTXTRecord > txt_records
TemplatableValue< std::string > value