mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 08:55:36 +00:00
7674170600f26d8090ac17c55cfcc4c352c31f0b
Revert ltchiptool as a hard dependency so the vast majority of ESPHome users (ESP32 / ESP8266 / nRF52 OTA) don't pay for libretiny tooling. Instead, on-demand install just the PlatformIO platform package when a --prebuilt-dir upload needs a flash tool that isn't on disk yet. Mechanism: when upload_program receives --prebuilt-dir for a libretiny or RP2040 target and the corresponding flash tool (ltchiptool / picotool) isn't found by get_ltchiptool_path / _find_picotool, run the same prep that 'esphome compile' would (write_cpp + write platformio.ini), then invoke 'pio pkg install -e <env>' instead of 'pio run'. PlatformIO downloads the platform without compiling, the flash tool ends up on disk, and the upload dispatch picks it up on the next lookup. After install, the tool path lookups (PATH + PIO penv for ltchiptool, PIO packages dir for picotool) succeed and the upload helper takes over. ESP32 / ESP8266 / nRF52 paths are unchanged (esptool is already bundled in requirements.txt; smpclient too for nRF52 mcumgr). Issue: esphome/device-builder#572 Issue: esphome/device-builder#570
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
545 MiB
Languages
C++
60.1%
Python
39.3%
C
0.3%
JavaScript
0.2%
