58 service.service_type = MDNS_STR(SERVICE_ESPHOMELIB);
59 service.proto = MDNS_STR(SERVICE_TCP);
63 bool friendly_name_empty = friendly_name.empty();
67 if (!friendly_name_empty) {
70#if defined(USE_ESP8266) || defined(USE_ESP32) || defined(USE_RP2040) || defined(USE_LIBRETINY)
73#if defined(USE_WIFI) || defined(USE_ETHERNET) || defined(USE_OPENTHREAD)
79#ifdef ESPHOME_PROJECT_NAME
82#ifdef USE_DASHBOARD_IMPORT
86 auto &txt_records = service.txt_records;
87 txt_records.init(txt_count);
89 if (!friendly_name_empty) {
90 txt_records.push_back({MDNS_STR(TXT_FRIENDLY_NAME), MDNS_STR(friendly_name.c_str())});
92 txt_records.push_back({MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)});
95 txt_records.push_back({MDNS_STR(TXT_MAC), MDNS_STR(mac_address_buf)});
99 txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP8266)});
100#elif defined(USE_ESP32)
102 txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP32)});
103#elif defined(USE_RP2040)
105 txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_RP2040)});
106#elif defined(USE_LIBRETINY)
107 txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(lt_cpu_get_model_name())});
110 txt_records.push_back({MDNS_STR(TXT_BOARD), MDNS_STR(VALUE_BOARD)});
114 txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_WIFI)});
115#elif defined(USE_ETHERNET)
117 txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_ETHERNET)});
118#elif defined(USE_OPENTHREAD)
120 txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_THREAD)});
128 const char *encryption_key = has_psk ? TXT_API_ENCRYPTION : TXT_API_ENCRYPTION_SUPPORTED;
129 txt_records.push_back({MDNS_STR(encryption_key), MDNS_STR(NOISE_ENCRYPTION)});
132#ifdef ESPHOME_PROJECT_NAME
137 txt_records.push_back({MDNS_STR(TXT_PROJECT_NAME), MDNS_STR(VALUE_PROJECT_NAME)});
138 txt_records.push_back({MDNS_STR(TXT_PROJECT_VERSION), MDNS_STR(VALUE_PROJECT_VERSION)});
141#ifdef USE_DASHBOARD_IMPORT
152 prom_service.service_type = MDNS_STR(SERVICE_PROMETHEUS);
153 prom_service.proto = MDNS_STR(SERVICE_TCP);
154 prom_service.port = USE_WEBSERVER_PORT;
163 sendspin_service.service_type = MDNS_STR(SERVICE_SENDSPIN);
164 sendspin_service.proto = MDNS_STR(SERVICE_TCP);
165 sendspin_service.port = USE_SENDSPIN_PORT;
166 sendspin_service.txt_records = {{MDNS_STR(TXT_SENDSPIN_PATH), MDNS_STR(VALUE_SENDSPIN_PATH)}};
173 web_service.service_type = MDNS_STR(SERVICE_HTTP);
174 web_service.proto = MDNS_STR(SERVICE_TCP);
175 web_service.port = USE_WEBSERVER_PORT;
178#if !defined(USE_API) && !defined(USE_PROMETHEUS) && !defined(USE_SENDSPIN) && !defined(USE_WEBSERVER) && \
179 !defined(USE_MDNS_EXTRA_SERVICES)
186 fallback_service.service_type = MDNS_STR(SERVICE_HTTP);
187 fallback_service.proto = MDNS_STR(SERVICE_TCP);
188 fallback_service.port = USE_WEBSERVER_PORT;
189 fallback_service.txt_records = {{MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)}};