ESPHome 2026.2.4
Loading...
Searching...
No Matches
esp32_hosted_update.h
Go to the documentation of this file.
1#pragma once
2
3#if defined(USE_ESP32_VARIANT_ESP32H2) || defined(USE_ESP32_VARIANT_ESP32P4)
4
7#include <array>
8#include <string>
9
10#ifdef USE_ESP32_HOSTED_HTTP_UPDATE
12#endif
13
14namespace esphome::esp32_hosted {
15
17 public:
18 void setup() override;
19 void dump_config() override;
20 float get_setup_priority() const override { return setup_priority::AFTER_WIFI; }
21
22 void update() override { this->check(); } // PollingComponent - delegates to check()
23 void perform(bool force) override;
24 void check() override;
25
26#ifdef USE_ESP32_HOSTED_HTTP_UPDATE
27 // HTTP mode setters
28 void set_source_url(const std::string &url) { this->source_url_ = url; }
30#else
31 // Embedded mode setters
32 void set_firmware_data(const uint8_t *data) { this->firmware_data_ = data; }
33 void set_firmware_size(size_t size) { this->firmware_size_ = size; }
34 void set_firmware_sha256(const std::array<uint8_t, 32> &sha256) { this->firmware_sha256_ = sha256; }
35#endif
36
37 protected:
38#ifdef USE_ESP32_HOSTED_HTTP_UPDATE
39 // HTTP mode members
41 std::string source_url_;
42 std::string firmware_url_;
43
44 // HTTP mode helpers
45 bool fetch_manifest_();
48#else
49 // Embedded mode members
50 const uint8_t *firmware_data_{nullptr};
51 size_t firmware_size_{0};
52
53 // Embedded mode helper
55#endif
56
57 std::array<uint8_t, 32> firmware_sha256_{};
58};
59
60} // namespace esphome::esp32_hosted
61
62#endif
This class simplifies creating components that periodically check a state.
Definition component.h:512
void set_source_url(const std::string &url)
void set_firmware_sha256(const std::array< uint8_t, 32 > &sha256)
http_request::HttpRequestComponent * http_request_parent_
void set_http_request_parent(http_request::HttpRequestComponent *parent)
const float AFTER_WIFI
For components that should be initialized after WiFi is connected.
Definition component.cpp:91
size_t size
Definition helpers.h:729