23#ifdef USE_OTA_PASSWORD
29#ifdef USE_OTA_PASSWORD
35 static_assert(B,
"set_auth_password() requires the OTA auth path to be compiled. "
36 "Add 'password: \"\"' (empty string) to your 'ota: - platform: esphome' "
37 "config to enable runtime password rotation.");
44 void setup()
override;
54#ifdef USE_OTA_PASSWORD
66 bool try_read_(
size_t to_read,
const LogString *desc);
67 bool try_write_(
size_t to_write,
const LogString *desc);
69 inline bool would_block_(
int error_code)
const {
return error_code == EAGAIN || error_code == EWOULDBLOCK; }
84 uint8_t error_byte =
static_cast<uint8_t
>(error);
85 this->
client_->write(&error_byte, 1);
90#ifdef USE_OTA_PASSWORD
101#ifdef USE_OTA_PARTITIONS
110#ifdef USE_OTA_PASSWORD
ESPHomeOTAComponent provides a simple way to integrate Over-the-Air updates into your app using Ardui...
bool would_block_(int error_code) const
uint32_t running_app_offset_
uint8_t handshake_buf_pos_
uint16_t get_port() const
static constexpr size_t SHA256_HEX_SIZE
void yield_and_feed_watchdog_()
bool writeall_(const uint8_t *buf, size_t len)
bool try_read_(size_t to_read, const LogString *desc)
void set_auth_password(const std::string &password)
ota::OTABackendPtr backend_
bool try_write_(size_t to_write, const LogString *desc)
void dump_config() override
std::unique_ptr< uint8_t[]> auth_buf_
bool handle_write_error_(ssize_t written, const LogString *desc)
void log_auth_warning_(const LogString *msg)
uint32_t client_connect_time_
float get_setup_priority() const override
void send_error_and_cleanup_(ota::OTAResponseTypes error)
bool handle_read_error_(ssize_t read, const LogString *desc)
void log_read_error_(const LogString *what)
bool readall_(uint8_t *buf, size_t len)
void set_port(uint16_t port)
Manually set the port OTA should listen on.
void set_auth_password(const std::string &)
bool write_byte_(uint8_t byte)
uint8_t handshake_buf_[HANDSHAKE_BUF_SIZE]
static constexpr size_t HANDSHAKE_BUF_SIZE
void server_failed_(const LogString *msg)
void transition_ota_state_(OTAState next_state)
void cleanup_connection_()
socket::ListenSocket * server_
void log_remote_closed_(const LogString *during)
std::unique_ptr< socket::Socket > client_
void log_start_(const LogString *phase)
void log_socket_error_(const LogString *msg)
decltype(make_ota_backend()) OTABackendPtr