mirror of
				https://github.com/esphome/esphome.git
				synced 2025-11-04 09:01:49 +00:00 
			
		
		
		
	Merge branch 'mdns_value_flash' into integration
This commit is contained in:
		
							
								
								
									
										2
									
								
								Doxyfile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Doxyfile
									
									
									
									
									
								
							@@ -48,7 +48,7 @@ PROJECT_NAME           = ESPHome
 | 
			
		||||
# could be handy for archiving the generated documentation or if some version
 | 
			
		||||
# control system is used.
 | 
			
		||||
 | 
			
		||||
PROJECT_NUMBER         = 2025.10.0-dev
 | 
			
		||||
PROJECT_NUMBER         = 2025.11.0-dev
 | 
			
		||||
 | 
			
		||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
 | 
			
		||||
# for a project that appears at the top of each page and should give viewer a
 | 
			
		||||
 
 | 
			
		||||
@@ -31,38 +31,10 @@ static const char *const TAG = "mdns";
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Define all constant strings using the macro
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(SERVICE_ESPHOMELIB, "_esphomelib");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(SERVICE_TCP, "_tcp");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(SERVICE_PROMETHEUS, "_prometheus-http");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http");
 | 
			
		||||
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_FRIENDLY_NAME, "friendly_name");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_VERSION, "version");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_MAC, "mac");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_PLATFORM, "platform");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_BOARD, "board");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_NETWORK, "network");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION, "api_encryption");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION_SUPPORTED, "api_encryption_supported");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_PROJECT_NAME, "project_name");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_PROJECT_VERSION, "project_version");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(TXT_PACKAGE_IMPORT_URL, "package_import_url");
 | 
			
		||||
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(PLATFORM_ESP8266, "ESP8266");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(PLATFORM_ESP32, "ESP32");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(PLATFORM_RP2040, "RP2040");
 | 
			
		||||
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(NETWORK_WIFI, "wifi");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(NETWORK_ETHERNET, "ethernet");
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(NETWORK_THREAD, "thread");
 | 
			
		||||
 | 
			
		||||
// Wrap build-time defines into flash storage
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(VALUE_VERSION, ESPHOME_VERSION);
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(VALUE_BOARD, ESPHOME_BOARD);
 | 
			
		||||
#ifdef ESPHOME_PROJECT_NAME
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(VALUE_PROJECT_NAME, ESPHOME_PROJECT_NAME);
 | 
			
		||||
MDNS_STATIC_CONST_CHAR(VALUE_PROJECT_VERSION, ESPHOME_PROJECT_VERSION);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void MDNSComponent::compile_records_() {
 | 
			
		||||
  this->hostname_ = App.get_name();
 | 
			
		||||
@@ -71,6 +43,15 @@ void MDNSComponent::compile_records_() {
 | 
			
		||||
  // in mdns/__init__.py. If you add a new service here, update both locations.
 | 
			
		||||
 | 
			
		||||
#ifdef USE_API
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(SERVICE_ESPHOMELIB, "_esphomelib");
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(TXT_FRIENDLY_NAME, "friendly_name");
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(TXT_VERSION, "version");
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(TXT_MAC, "mac");
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(TXT_PLATFORM, "platform");
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(TXT_BOARD, "board");
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(TXT_NETWORK, "network");
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(VALUE_BOARD, ESPHOME_BOARD);
 | 
			
		||||
 | 
			
		||||
  if (api::global_api_server != nullptr) {
 | 
			
		||||
    auto &service = this->services_.emplace_next();
 | 
			
		||||
    service.service_type = MDNS_STR(SERVICE_ESPHOMELIB);
 | 
			
		||||
@@ -111,10 +92,13 @@ void MDNSComponent::compile_records_() {
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_MAC), MDNS_STR(this->add_dynamic_txt_value(get_mac_address()))});
 | 
			
		||||
 | 
			
		||||
#ifdef USE_ESP8266
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(PLATFORM_ESP8266, "ESP8266");
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP8266)});
 | 
			
		||||
#elif defined(USE_ESP32)
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(PLATFORM_ESP32, "ESP32");
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP32)});
 | 
			
		||||
#elif defined(USE_RP2040)
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(PLATFORM_RP2040, "RP2040");
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_RP2040)});
 | 
			
		||||
#elif defined(USE_LIBRETINY)
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(lt_cpu_get_model_name())});
 | 
			
		||||
@@ -123,14 +107,19 @@ void MDNSComponent::compile_records_() {
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_BOARD), MDNS_STR(VALUE_BOARD)});
 | 
			
		||||
 | 
			
		||||
#if defined(USE_WIFI)
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(NETWORK_WIFI, "wifi");
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_WIFI)});
 | 
			
		||||
#elif defined(USE_ETHERNET)
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(NETWORK_ETHERNET, "ethernet");
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_ETHERNET)});
 | 
			
		||||
#elif defined(USE_OPENTHREAD)
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(NETWORK_THREAD, "thread");
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_THREAD)});
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef USE_API_NOISE
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION, "api_encryption");
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION_SUPPORTED, "api_encryption_supported");
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(NOISE_ENCRYPTION, "Noise_NNpsk0_25519_ChaChaPoly_SHA256");
 | 
			
		||||
    bool has_psk = api::global_api_server->get_noise_ctx()->has_psk();
 | 
			
		||||
    const char *encryption_key = has_psk ? TXT_API_ENCRYPTION : TXT_API_ENCRYPTION_SUPPORTED;
 | 
			
		||||
@@ -138,11 +127,16 @@ void MDNSComponent::compile_records_() {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef ESPHOME_PROJECT_NAME
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(TXT_PROJECT_NAME, "project_name");
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(TXT_PROJECT_VERSION, "project_version");
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(VALUE_PROJECT_NAME, ESPHOME_PROJECT_NAME);
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(VALUE_PROJECT_VERSION, ESPHOME_PROJECT_VERSION);
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_PROJECT_NAME), MDNS_STR(VALUE_PROJECT_NAME)});
 | 
			
		||||
    txt_records.push_back({MDNS_STR(TXT_PROJECT_VERSION), MDNS_STR(VALUE_PROJECT_VERSION)});
 | 
			
		||||
#endif  // ESPHOME_PROJECT_NAME
 | 
			
		||||
 | 
			
		||||
#ifdef USE_DASHBOARD_IMPORT
 | 
			
		||||
    MDNS_STATIC_CONST_CHAR(TXT_PACKAGE_IMPORT_URL, "package_import_url");
 | 
			
		||||
    txt_records.push_back(
 | 
			
		||||
        {MDNS_STR(TXT_PACKAGE_IMPORT_URL), MDNS_STR(dashboard_import::get_package_import_url().c_str())});
 | 
			
		||||
#endif
 | 
			
		||||
@@ -150,6 +144,8 @@ void MDNSComponent::compile_records_() {
 | 
			
		||||
#endif  // USE_API
 | 
			
		||||
 | 
			
		||||
#ifdef USE_PROMETHEUS
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(SERVICE_PROMETHEUS, "_prometheus-http");
 | 
			
		||||
 | 
			
		||||
  auto &prom_service = this->services_.emplace_next();
 | 
			
		||||
  prom_service.service_type = MDNS_STR(SERVICE_PROMETHEUS);
 | 
			
		||||
  prom_service.proto = MDNS_STR(SERVICE_TCP);
 | 
			
		||||
@@ -157,6 +153,8 @@ void MDNSComponent::compile_records_() {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef USE_WEBSERVER
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http");
 | 
			
		||||
 | 
			
		||||
  auto &web_service = this->services_.emplace_next();
 | 
			
		||||
  web_service.service_type = MDNS_STR(SERVICE_HTTP);
 | 
			
		||||
  web_service.proto = MDNS_STR(SERVICE_TCP);
 | 
			
		||||
@@ -164,6 +162,9 @@ void MDNSComponent::compile_records_() {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(USE_API) && !defined(USE_PROMETHEUS) && !defined(USE_WEBSERVER) && !defined(USE_MDNS_EXTRA_SERVICES)
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http");
 | 
			
		||||
  MDNS_STATIC_CONST_CHAR(TXT_VERSION, "version");
 | 
			
		||||
 | 
			
		||||
  // Publish "http" service if not using native API or any other services
 | 
			
		||||
  // This is just to have *some* mDNS service so that .local resolution works
 | 
			
		||||
  auto &fallback_service = this->services_.emplace_next();
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ from enum import Enum
 | 
			
		||||
 | 
			
		||||
from esphome.enum import StrEnum
 | 
			
		||||
 | 
			
		||||
__version__ = "2025.10.0-dev"
 | 
			
		||||
__version__ = "2025.11.0-dev"
 | 
			
		||||
 | 
			
		||||
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
 | 
			
		||||
VALID_SUBSTITUTIONS_CHARACTERS = (
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user