diff --git a/.clang-tidy.hash b/.clang-tidy.hash index 72a99675909..bc8cd1dacdc 100644 --- a/.clang-tidy.hash +++ b/.clang-tidy.hash @@ -1 +1 @@ -075ed2142432dc59883bb52db8ac11270f952851d6400deae080f5468c7cb592 +88bba93420f1dbc8c64a555c631195a8dc9544e6dc98ae45ac04978206c01bd7 diff --git a/esphome/components/esp8266/__init__.py b/esphome/components/esp8266/__init__.py index 34540bd48da..7e593bf61ad 100644 --- a/esphome/components/esp8266/__init__.py +++ b/esphome/components/esp8266/__init__.py @@ -264,7 +264,16 @@ async def to_code(config): cg.add_platformio_option("platform", conf[CONF_PLATFORM_VERSION]) cg.add_platformio_option( "platform_packages", - [f"platformio/framework-arduinoespressif8266@{conf[CONF_SOURCE]}"], + [ + f"platformio/framework-arduinoespressif8266@{conf[CONF_SOURCE]}", + # Override the ancient tool-esptoolpy ~1.30000.0 pinned by + # platform-espressif8266 4.2.1 with the same 5.x build the + # pioarduino ESP32 platform uses, so both platforms share the + # same installed package and stop reinstalling on every switch. + # The 0.0.1 path component is pioarduino's stable registry + # release tag (not the tool version); the tool itself is 5.2.0. + "pioarduino/tool-esptoolpy@https://github.com/pioarduino/registry/releases/download/0.0.1/esptoolpy-v5.2.0.zip", + ], ) # Default for platformio is LWIP2_LOW_MEMORY with: diff --git a/esphome/core/component.h b/esphome/core/component.h index 44c24e13d20..808aace5218 100644 --- a/esphome/core/component.h +++ b/esphome/core/component.h @@ -602,7 +602,7 @@ class Component { */ class PollingComponent : public Component { public: - PollingComponent() : PollingComponent(0) {} + PollingComponent() : PollingComponent(1) {} /** Initialize this polling component with the given update interval in ms. * diff --git a/platformio.ini b/platformio.ini index e2c7e2b097d..d98d584b2e6 100644 --- a/platformio.ini +++ b/platformio.ini @@ -105,6 +105,13 @@ extends = common:arduino platform = platformio/espressif8266@4.2.1 platform_packages = platformio/framework-arduinoespressif8266@~3.30102.0 + ; Override the ancient tool-esptoolpy ~1.30000.0 pinned by + ; platform-espressif8266 4.2.1 with the same 5.x build the pioarduino + ; ESP32 platform uses, so switching between esp8266 and esp32 builds + ; does not reinstall tool-esptoolpy every time. + ; The 0.0.1 path component is pioarduino's stable registry release tag + ; (not the tool version); the tool itself is 5.2.0. + pioarduino/tool-esptoolpy@https://github.com/pioarduino/registry/releases/download/0.0.1/esptoolpy-v5.2.0.zip framework = arduino lib_deps = diff --git a/requirements.txt b/requirements.txt index 36c81e25bf9..1623876cb56 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.19 esptool==5.2.0 click==8.3.2 esphome-dashboard==20260408.1 -aioesphomeapi==44.16.0 +aioesphomeapi==44.16.1 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.19.1 # dashboard_import