|
ESPHome 2026.10.0-dev
|
Data Structures | |
| class | ArduinoLibreTinyOTABackend |
| class | ArduinoRP2OTABackend |
| class | ESP8266OTABackend |
| OTA backend for ESP8266 using native SDK functions. More... | |
| class | HostOTABackend |
Host OTA backend: stages new binary to <exe>.ota.new, validates ELF/Mach-O matches the running arch, renames over <exe>, and arms execv via arch_restart(). More... | |
| class | IDFOTABackend |
| class | OTAComponent |
| class | OTAErrorTrigger |
| class | OTAGlobalCallback |
| Global callback that aggregates OTA state from all OTA components. More... | |
| class | OTAGlobalStateListener |
| Listener interface for global OTA state changes (includes OTA component pointer). More... | |
| class | OTAProgressTrigger |
| class | OTAStateChangeTrigger |
| class | OTAStateListener |
| Listener interface for OTA state changes. More... | |
| class | OTAStateTrigger |
| struct | StubOTABackend |
Concepts | |
| concept | OTABackendContract |
Typedefs | |
| using | OTAStartTrigger = OTAStateTrigger<OTA_STARTED> |
| using | OTAEndTrigger = OTAStateTrigger<OTA_COMPLETED> |
| using | OTAAbortTrigger = OTAStateTrigger<OTA_ABORT> |
| using | OTABackendPtr = decltype(make_ota_backend()) |
Functions | |
| bool | version_is_older (const char *candidate, const char *reference) |
| Compare two dotted-numeric version strings (such as "1.2.3"). | |
| OTAGlobalCallback * | get_global_ota_callback () |
| constexpr size_t | next_erase_end (size_t write_end, size_t partition_size) |
| Target erased watermark for lazy block erase-ahead. | |
| std::unique_ptr< ArduinoLibreTinyOTABackend > | make_ota_backend () |
| void | get_running_app_position (uint32_t &offset, size_t &size) |
| size_t | rsa_der_public_key (const uint8_t *modulus_be, const uint8_t *exponent_be, size_t exponent_len, uint8_t *out, size_t out_len) |
| Wrap a raw RSA-3072 modulus and exponent as a DER RSAPublicKey. | |
Variables | |
| OTAGlobalCallback * | global_ota_callback {nullptr} |
| constexpr size_t | RSA_3072_MODULUS_BYTES = 384 |
| constexpr uint8_t | RSA_DER_MODULUS_PREFIX [] = {0x02, 0x82, 0x01, 0x81, 0x00} |
| constexpr size_t | RSA_DER_MODULUS_LEN = sizeof(RSA_DER_MODULUS_PREFIX) + RSA_3072_MODULUS_BYTES |
| constexpr size_t | RSA_DER_PUBKEY_MAX = 4 + RSA_DER_MODULUS_LEN + 7 |
Definition at line 39 of file automation.h.
| using esphome::ota::OTABackendPtr = decltype(make_ota_backend()) |
Definition at line 35 of file ota_backend_factory.h.
Definition at line 38 of file automation.h.
Definition at line 37 of file automation.h.
Definition at line 17 of file ota_backend.h.
| Enumerator | |
|---|---|
| OTA_COMPLETED | |
| OTA_STARTED | |
| OTA_IN_PROGRESS | |
| OTA_ABORT | |
| OTA_ERROR | |
Definition at line 83 of file ota_backend.h.
| enum esphome::ota::OTAType : uint8_t |
| Enumerator | |
|---|---|
| OTA_TYPE_UPDATE_APP | |
| OTA_TYPE_UPDATE_PARTITION_TABLE | |
| OTA_TYPE_UPDATE_BOOTLOADER | |
Definition at line 91 of file ota_backend.h.
| OTAGlobalCallback * esphome::ota::get_global_ota_callback | ( | ) |
Definition at line 36 of file ota_backend.cpp.
| void esphome::ota::get_running_app_position | ( | uint32_t & | offset, |
| size_t & | size ) |
Definition at line 308 of file ota_partitions_esp_idf.cpp.
| std::unique_ptr< HostOTABackend > esphome::ota::make_ota_backend | ( | ) |
Definition at line 14 of file ota_backend_arduino_libretiny.cpp.
|
constexpr |
Target erased watermark for lazy block erase-ahead.
Rounds the write end offset up to a block boundary, clamped to the partition size. Platform-independent so the arithmetic is host-testable.
Definition at line 78 of file ota_backend.h.
|
inline |
Wrap a raw RSA-3072 modulus and exponent as a DER RSAPublicKey.
| modulus_be | Big-endian modulus, RSA_3072_MODULUS_BYTES long. |
| exponent_be | Big-endian exponent, exponent_len bytes, leading zeros allowed. Rejected if the significant bytes would not fit a short-form length. |
Definition at line 33 of file ota_rsa_der.h.
| bool esphome::ota::version_is_older | ( | const char * | candidate, |
| const char * | reference ) |
Compare two dotted-numeric version strings (such as "1.2.3").
Returns true when candidate represents a strictly older (lower) firmware version than reference. Each dot-separated component is parsed as an integer and compared left-to-right; absent trailing components count as 0, so "1.2" and "1.2.0" are equal. Equal versions return false so that re-flashing the same version is permitted.
Used for software OTA downgrade protection. Inputs come from the project version embedded in the signed firmware image, which is validated to be dotted-numeric at config time. Non-digit characters terminate a component.
Definition at line 5 of file ota_backend.cpp.
| OTAGlobalCallback* esphome::ota::global_ota_callback {nullptr} |
Definition at line 34 of file ota_backend.cpp.
|
constexpr |
Definition at line 20 of file ota_rsa_der.h.
|
constexpr |
Definition at line 22 of file ota_rsa_der.h.
|
constexpr |
Definition at line 21 of file ota_rsa_der.h.
|
constexpr |
Definition at line 25 of file ota_rsa_der.h.