mirror of
				https://github.com/esphome/esphome.git
				synced 2025-11-04 00:51:49 +00:00 
			
		
		
		
	[wifi] Automatically disable Enterprise WiFi support when EAP is not configured
This commit is contained in:
		@@ -375,11 +375,16 @@ async def to_code(config):
 | 
				
			|||||||
    var = cg.new_Pvariable(config[CONF_ID])
 | 
					    var = cg.new_Pvariable(config[CONF_ID])
 | 
				
			||||||
    cg.add(var.set_use_address(config[CONF_USE_ADDRESS]))
 | 
					    cg.add(var.set_use_address(config[CONF_USE_ADDRESS]))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Track if any network uses Enterprise authentication
 | 
				
			||||||
 | 
					    has_eap = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def add_sta(ap, network):
 | 
					    def add_sta(ap, network):
 | 
				
			||||||
        ip_config = network.get(CONF_MANUAL_IP, config.get(CONF_MANUAL_IP))
 | 
					        ip_config = network.get(CONF_MANUAL_IP, config.get(CONF_MANUAL_IP))
 | 
				
			||||||
        cg.add(var.add_sta(wifi_network(network, ap, ip_config)))
 | 
					        cg.add(var.add_sta(wifi_network(network, ap, ip_config)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for network in config.get(CONF_NETWORKS, []):
 | 
					    for network in config.get(CONF_NETWORKS, []):
 | 
				
			||||||
 | 
					        if CONF_EAP in network:
 | 
				
			||||||
 | 
					            has_eap = True
 | 
				
			||||||
        cg.with_local_variable(network[CONF_ID], WiFiAP(), add_sta, network)
 | 
					        cg.with_local_variable(network[CONF_ID], WiFiAP(), add_sta, network)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if CONF_AP in config:
 | 
					    if CONF_AP in config:
 | 
				
			||||||
@@ -396,6 +401,10 @@ async def to_code(config):
 | 
				
			|||||||
        add_idf_sdkconfig_option("CONFIG_ESP_WIFI_SOFTAP_SUPPORT", False)
 | 
					        add_idf_sdkconfig_option("CONFIG_ESP_WIFI_SOFTAP_SUPPORT", False)
 | 
				
			||||||
        add_idf_sdkconfig_option("CONFIG_LWIP_DHCPS", False)
 | 
					        add_idf_sdkconfig_option("CONFIG_LWIP_DHCPS", False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Disable Enterprise WiFi support if no EAP is configured
 | 
				
			||||||
 | 
					    if CORE.is_esp32 and CORE.using_esp_idf and not has_eap:
 | 
				
			||||||
 | 
					        add_idf_sdkconfig_option("CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT", False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cg.add(var.set_reboot_timeout(config[CONF_REBOOT_TIMEOUT]))
 | 
					    cg.add(var.set_reboot_timeout(config[CONF_REBOOT_TIMEOUT]))
 | 
				
			||||||
    cg.add(var.set_power_save_mode(config[CONF_POWER_SAVE_MODE]))
 | 
					    cg.add(var.set_power_save_mode(config[CONF_POWER_SAVE_MODE]))
 | 
				
			||||||
    cg.add(var.set_fast_connect(config[CONF_FAST_CONNECT]))
 | 
					    cg.add(var.set_fast_connect(config[CONF_FAST_CONNECT]))
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user