56 auto &service = this->
services_.emplace_next();
57 service.service_type = MDNS_STR(SERVICE_ESPHOMELIB);
58 service.proto = MDNS_STR(SERVICE_TCP);
62 bool friendly_name_empty = friendly_name.empty();
66 if (!friendly_name_empty) {
69#if defined(USE_ESP8266) || defined(USE_ESP32) || defined(USE_RP2040) || defined(USE_LIBRETINY)
72#if defined(USE_WIFI) || defined(USE_ETHERNET) || defined(USE_OPENTHREAD)
78#ifdef ESPHOME_PROJECT_NAME
81#ifdef USE_DASHBOARD_IMPORT
85 auto &txt_records = service.txt_records;
86 txt_records.reserve(txt_count);
88 if (!friendly_name_empty) {
89 txt_records.push_back({MDNS_STR(TXT_FRIENDLY_NAME), MDNS_STR(friendly_name.c_str())});
91 txt_records.push_back({MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)});
96 txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP8266)});
97#elif defined(USE_ESP32)
99 txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP32)});
100#elif defined(USE_RP2040)
102 txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_RP2040)});
103#elif defined(USE_LIBRETINY)
104 txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(lt_cpu_get_model_name())});
107 txt_records.push_back({MDNS_STR(TXT_BOARD), MDNS_STR(VALUE_BOARD)});
111 txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_WIFI)});
112#elif defined(USE_ETHERNET)
114 txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_ETHERNET)});
115#elif defined(USE_OPENTHREAD)
117 txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_THREAD)});
125 const char *encryption_key = has_psk ? TXT_API_ENCRYPTION : TXT_API_ENCRYPTION_SUPPORTED;
126 txt_records.push_back({MDNS_STR(encryption_key), MDNS_STR(NOISE_ENCRYPTION)});
129#ifdef ESPHOME_PROJECT_NAME
134 txt_records.push_back({MDNS_STR(TXT_PROJECT_NAME), MDNS_STR(VALUE_PROJECT_NAME)});
135 txt_records.push_back({MDNS_STR(TXT_PROJECT_VERSION), MDNS_STR(VALUE_PROJECT_VERSION)});
138#ifdef USE_DASHBOARD_IMPORT
140 txt_records.push_back(
149 auto &prom_service = this->
services_.emplace_next();
150 prom_service.service_type = MDNS_STR(SERVICE_PROMETHEUS);
151 prom_service.proto = MDNS_STR(SERVICE_TCP);
152 prom_service.port = USE_WEBSERVER_PORT;
158 auto &web_service = this->
services_.emplace_next();
159 web_service.service_type = MDNS_STR(SERVICE_HTTP);
160 web_service.proto = MDNS_STR(SERVICE_TCP);
161 web_service.port = USE_WEBSERVER_PORT;
164#if !defined(USE_API) && !defined(USE_PROMETHEUS) && !defined(USE_WEBSERVER) && !defined(USE_MDNS_EXTRA_SERVICES)
170 auto &fallback_service = this->
services_.emplace_next();
171 fallback_service.service_type = MDNS_STR(SERVICE_HTTP);
172 fallback_service.proto = MDNS_STR(SERVICE_TCP);
173 fallback_service.port = USE_WEBSERVER_PORT;
174 fallback_service.txt_records.push_back({MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)});