mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Merge remote-tracking branch 'upstream/dev' into climate_store_flash
This commit is contained in:
		
							
								
								
									
										4
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							| @@ -58,7 +58,7 @@ jobs: | ||||
|  | ||||
|       # Initializes the CodeQL tools for scanning. | ||||
|       - name: Initialize CodeQL | ||||
|         uses: github/codeql-action/init@4e94bd11f71e507f7f87df81788dff88d1dacbfb # v4.31.0 | ||||
|         uses: github/codeql-action/init@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2 | ||||
|         with: | ||||
|           languages: ${{ matrix.language }} | ||||
|           build-mode: ${{ matrix.build-mode }} | ||||
| @@ -86,6 +86,6 @@ jobs: | ||||
|           exit 1 | ||||
|  | ||||
|       - name: Perform CodeQL Analysis | ||||
|         uses: github/codeql-action/analyze@4e94bd11f71e507f7f87df81788dff88d1dacbfb # v4.31.0 | ||||
|         uses: github/codeql-action/analyze@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2 | ||||
|         with: | ||||
|           category: "/language:${{matrix.language}}" | ||||
|   | ||||
| @@ -207,14 +207,14 @@ def choose_upload_log_host( | ||||
|                     if has_mqtt_logging(): | ||||
|                         resolved.append("MQTT") | ||||
|  | ||||
|                     if has_api() and has_non_ip_address(): | ||||
|                     if has_api() and has_non_ip_address() and has_resolvable_address(): | ||||
|                         resolved.extend(_resolve_with_cache(CORE.address, purpose)) | ||||
|  | ||||
|                 elif purpose == Purpose.UPLOADING: | ||||
|                     if has_ota() and has_mqtt_ip_lookup(): | ||||
|                         resolved.append("MQTTIP") | ||||
|  | ||||
|                     if has_ota() and has_non_ip_address(): | ||||
|                     if has_ota() and has_non_ip_address() and has_resolvable_address(): | ||||
|                         resolved.extend(_resolve_with_cache(CORE.address, purpose)) | ||||
|             else: | ||||
|                 resolved.append(device) | ||||
| @@ -318,7 +318,17 @@ def has_resolvable_address() -> bool: | ||||
|     """Check if CORE.address is resolvable (via mDNS, DNS, or is an IP address).""" | ||||
|     # Any address (IP, mDNS hostname, or regular DNS hostname) is resolvable | ||||
|     # The resolve_ip_address() function in helpers.py handles all types via AsyncResolver | ||||
|     return CORE.address is not None | ||||
|     if CORE.address is None: | ||||
|         return False | ||||
|  | ||||
|     if has_ip_address(): | ||||
|         return True | ||||
|  | ||||
|     if has_mdns(): | ||||
|         return True | ||||
|  | ||||
|     # .local mDNS hostnames are only resolvable if mDNS is enabled | ||||
|     return not CORE.address.endswith(".local") | ||||
|  | ||||
|  | ||||
| def mqtt_get_ip(config: ConfigType, username: str, password: str, client_id: str): | ||||
|   | ||||
| @@ -744,7 +744,7 @@ def test_choose_upload_log_host_ota_local_all_options() -> None: | ||||
|         check_default=None, | ||||
|         purpose=Purpose.UPLOADING, | ||||
|     ) | ||||
|     assert result == ["MQTTIP", "test.local"] | ||||
|     assert result == ["MQTTIP"] | ||||
|  | ||||
|  | ||||
| @pytest.mark.usefixtures("mock_serial_ports") | ||||
| @@ -794,7 +794,7 @@ def test_choose_upload_log_host_ota_local_all_options_logging() -> None: | ||||
|         check_default=None, | ||||
|         purpose=Purpose.LOGGING, | ||||
|     ) | ||||
|     assert result == ["MQTTIP", "MQTT", "test.local"] | ||||
|     assert result == ["MQTTIP", "MQTT"] | ||||
|  | ||||
|  | ||||
| @pytest.mark.usefixtures("mock_no_mqtt_logging") | ||||
| @@ -1564,7 +1564,7 @@ def test_has_resolvable_address() -> None: | ||||
|     setup_core( | ||||
|         config={CONF_MDNS: {CONF_DISABLED: True}}, address="esphome-device.local" | ||||
|     ) | ||||
|     assert has_resolvable_address() is True | ||||
|     assert has_resolvable_address() is False | ||||
|  | ||||
|     # Test with mDNS disabled and regular DNS hostname (resolvable) | ||||
|     setup_core(config={CONF_MDNS: {CONF_DISABLED: True}}, address="device.example.com") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user