Compile ESPhome using Python on macOS?

Does anyone know where there might be some documentation about the files that are produced when compiling ESPhome locally using Python, ie what files to upload using the web browser?

$ esphome compile pana-hz25tke-230521.yaml

./.esphome/build/pana-hz25tke/.pioenvs/pana-hz25tke/bootloader.bin
./.esphome/build/pana-hz25tke/.pioenvs/pana-hz25tke/firmware-factory.bin
./.esphome/build/pana-hz25tke/.pioenvs/pana-hz25tke/firmware.bin
./.esphome/build/pana-hz25tke/.pioenvs/pana-hz25tke/partitions.bin

This is the complete output:

Summary
ESPHome 2023.5.4
INFO Reading configuration pana-hz25tke-230521.yaml...
INFO Cloning https://github.com/DomiStyle/esphome-panasonic-ac.git@None
INFO Generating C++ source...
INFO Core config or version changed, cleaning build files...
INFO Compiling app...
**************************************************************************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
**************************************************************************************************************************************************************
Processing pana-hz25tke (board: mhetesp32minikit; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Platform Manager: Installing platformio/espressif32 @ 5.3.0
INFO Installing platformio/espressif32 @ 5.3.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Platform Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Tool Manager: Installing espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
INFO Installing espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: [email protected]+2021r2-patch5 has been installed!
INFO [email protected]+2021r2-patch5 has been installed!
Tool Manager: Installing platformio/framework-arduinoespressif32 @ ~3.20005.0
INFO Installing platformio/framework-arduinoespressif32 @ ~3.20005.0
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Tool Manager: Installing platformio/tool-esptoolpy @ ~1.40400.0
INFO Installing platformio/tool-esptoolpy @ ~1.40400.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing esphome/AsyncTCP-esphome @ 1.2.2
INFO Installing esphome/AsyncTCP-esphome @ 1.2.2
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 2.1.0
INFO Installing esphome/ESPAsyncWebServer-esphome @ 2.1.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing bblanchon/ArduinoJson @ 6.18.5
INFO Installing bblanchon/ArduinoJson @ 6.18.5
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Tool Manager: Installing platformio/tool-scons @ ~4.40400.0
INFO Installing platformio/tool-scons @ ~4.40400.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 1.2.2
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 2.1.0
|   |-- AsyncTCP-esphome @ 1.2.2
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- ArduinoJson @ 6.18.5
Compiling .pioenvs/pana-hz25tke/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/api/user_services.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/captive_portal/captive_portal.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/climate/climate.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/climate/climate_mode.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/climate/climate_traits.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/dallas/dallas_component.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/dallas/esp_one_wire.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/esp32/core.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/esp32/gpio.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/esp32/preferences.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/json/json_util.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/logger/logger.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/md5/md5.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/mdns/mdns_component.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/mdns/mdns_esp32.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/mdns/mdns_host.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/mdns/mdns_rp2040.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/network/util.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/ota/ota_component.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/panasonic_ac/esppac.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/panasonic_ac/esppac_cnt.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/panasonic_ac/esppac_wlan.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/restart/switch/restart_switch.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/select/select.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/select/select_call.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/select/select_traits.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/sensor/automation.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/sensor/filter.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/sensor/sensor.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/socket/socket.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/status_led/status_led.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/switch/automation.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/switch/switch.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/uart/uart.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/uart/uart_component.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/uart/uart_component_esp32_arduino.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/uart/uart_component_esp8266.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/uart/uart_component_esp_idf.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/uart/uart_component_rp2040.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/uart/uart_debugger.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/web_server/list_entities.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/web_server/web_server.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/web_server_base/web_server_base.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/wifi/wifi_component.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/components/wifi/wifi_component_pico_w.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/application.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/color.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/component.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/component_iterator.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/controller.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/entity_base.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/helpers.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/log.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/scheduler.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/string_ref.cpp.o
Compiling .pioenvs/pana-hz25tke/src/esphome/core/util.cpp.o
Compiling .pioenvs/pana-hz25tke/src/main.cpp.o
Building .pioenvs/pana-hz25tke/bootloader.bin
Generating partitions .pioenvs/pana-hz25tke/partitions.bin
Creating esp32 image...
Successfully created esp32 image.
Compiling .pioenvs/pana-hz25tke/lib4e1/AsyncTCP-esphome/AsyncTCP.cpp.o
Compiling .pioenvs/pana-hz25tke/libf28/WiFi/WiFi.cpp.o
Compiling .pioenvs/pana-hz25tke/libf28/WiFi/WiFiAP.cpp.o
Compiling .pioenvs/pana-hz25tke/libf28/WiFi/WiFiClient.cpp.o
Archiving .pioenvs/pana-hz25tke/lib4e1/libAsyncTCP-esphome.a
Indexing .pioenvs/pana-hz25tke/lib4e1/libAsyncTCP-esphome.a
Compiling .pioenvs/pana-hz25tke/libf28/WiFi/WiFiGeneric.cpp.o
Compiling .pioenvs/pana-hz25tke/libf28/WiFi/WiFiMulti.cpp.o
Compiling .pioenvs/pana-hz25tke/libf28/WiFi/WiFiSTA.cpp.o
Compiling .pioenvs/pana-hz25tke/libf28/WiFi/WiFiScan.cpp.o
Compiling .pioenvs/pana-hz25tke/libf28/WiFi/WiFiServer.cpp.o
Compiling .pioenvs/pana-hz25tke/libf28/WiFi/WiFiUdp.cpp.o
Compiling .pioenvs/pana-hz25tke/libeab/FS/FS.cpp.o
Compiling .pioenvs/pana-hz25tke/libeab/FS/vfs_api.cpp.o
Compiling .pioenvs/pana-hz25tke/lib8e2/Update/HttpsOTAUpdate.cpp.o
Archiving .pioenvs/pana-hz25tke/libf28/libWiFi.a
Indexing .pioenvs/pana-hz25tke/libf28/libWiFi.a
Compiling .pioenvs/pana-hz25tke/lib8e2/Update/Updater.cpp.o
Compiling .pioenvs/pana-hz25tke/lib6a8/ESPAsyncWebServer-esphome/AsyncEventSource.cpp.o
Compiling .pioenvs/pana-hz25tke/lib6a8/ESPAsyncWebServer-esphome/AsyncWebSocket.cpp.o
Archiving .pioenvs/pana-hz25tke/libeab/libFS.a
Indexing .pioenvs/pana-hz25tke/libeab/libFS.a
Compiling .pioenvs/pana-hz25tke/lib6a8/ESPAsyncWebServer-esphome/WebAuthentication.cpp.o
Archiving .pioenvs/pana-hz25tke/lib8e2/libUpdate.a
Indexing .pioenvs/pana-hz25tke/lib8e2/libUpdate.a
Compiling .pioenvs/pana-hz25tke/lib6a8/ESPAsyncWebServer-esphome/WebHandlers.cpp.o
Compiling .pioenvs/pana-hz25tke/lib6a8/ESPAsyncWebServer-esphome/WebRequest.cpp.o
Compiling .pioenvs/pana-hz25tke/lib6a8/ESPAsyncWebServer-esphome/WebResponses.cpp.o
Compiling .pioenvs/pana-hz25tke/lib6a8/ESPAsyncWebServer-esphome/WebServer.cpp.o
Compiling .pioenvs/pana-hz25tke/lib3dc/DNSServer/DNSServer.cpp.o
Archiving .pioenvs/pana-hz25tke/lib3dc/libDNSServer.a
Indexing .pioenvs/pana-hz25tke/lib3dc/libDNSServer.a
Compiling .pioenvs/pana-hz25tke/libe6f/ESPmDNS/ESPmDNS.cpp.o
Archiving .pioenvs/pana-hz25tke/lib6a8/libESPAsyncWebServer-esphome.a
Indexing .pioenvs/pana-hz25tke/lib6a8/libESPAsyncWebServer-esphome.a
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/Esp.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/FirmwareMSC.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/HWCDC.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/HardwareSerial.cpp.o
Archiving .pioenvs/pana-hz25tke/libe6f/libESPmDNS.a
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/IPAddress.cpp.o
Indexing .pioenvs/pana-hz25tke/libe6f/libESPmDNS.a
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/IPv6Address.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/MD5Builder.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/Print.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/Stream.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/StreamString.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/Tone.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/USB.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/USBCDC.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/USBMSC.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/WMath.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/WString.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/base64.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/cbuf.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-adc.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-cpu.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-dac.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-i2c-slave.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-i2c.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-psram.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-rgb-led.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-time.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/firmware_msc_fat.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/libb64/cdecode.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/libb64/cencode.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/main.cpp.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/stdlib_noniso.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/wiring_pulse.c.o
Compiling .pioenvs/pana-hz25tke/FrameworkArduino/wiring_shift.c.o
Archiving .pioenvs/pana-hz25tke/libFrameworkArduino.a
Indexing .pioenvs/pana-hz25tke/libFrameworkArduino.a
Linking .pioenvs/pana-hz25tke/firmware.elf
RAM:   [=         ]  12.4% (used 40672 bytes from 327680 bytes)
Flash: [=====     ]  49.4% (used 907345 bytes from 1835008 bytes)
Building .pioenvs/pana-hz25tke/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/pana-hz25tke/firmware.bin"], [".pioenvs/pana-hz25tke/firmware.elf"])
Wrote 0xeeee0 bytes to file /Users/lars/esphome/.esphome/build/pana-hz25tke/.pioenvs/pana-hz25tke/firmware-factory.bin, ready to flash to offset 0x0
=============================================================== [SUCCESS] Took 258.12 seconds ===============================================================
INFO Successfully compiled program.

This is the file you manually upload onto the ESP via its web UI.

1 Like

Great, thanks a bunch!!

Any idea what the rest of the files are used for and if there are any docs/guides about it?

I believe those other files are intermediary files that are then made into firmware.bin.

1 Like