[dashboard_import] Store package_import_url in flash on ESP8266 (#17127)

This commit is contained in:
J. Nick Koston
2026-06-21 23:18:06 -05:00
committed by GitHub
parent 2fe67a6eda
commit 614eae7a3b
3 changed files with 9 additions and 6 deletions
@@ -77,7 +77,7 @@ async def to_code(config):
url = config[CONF_PACKAGE_IMPORT_URL]
if config[CONF_IMPORT_FULL_CONFIG]:
url += "?full_config"
cg.add(dashboard_import_ns.set_package_import_url(url))
cg.add(dashboard_import_ns.set_package_import_url(cg.FlashStringLiteral(url)))
def import_config(
@@ -2,9 +2,10 @@
namespace esphome::dashboard_import {
static const char *g_package_import_url = ""; // NOLINT
static const char EMPTY_URL[] PROGMEM = ""; // NOLINT
static ProgmemStr g_package_import_url = reinterpret_cast<ProgmemStr>(EMPTY_URL); // NOLINT
const char *get_package_import_url() { return g_package_import_url; }
void set_package_import_url(const char *url) { g_package_import_url = url; }
ProgmemStr get_package_import_url() { return g_package_import_url; }
void set_package_import_url(ProgmemStr url) { g_package_import_url = url; }
} // namespace esphome::dashboard_import
@@ -1,8 +1,10 @@
#pragma once
#include "esphome/core/progmem.h"
namespace esphome::dashboard_import {
const char *get_package_import_url();
void set_package_import_url(const char *url);
ProgmemStr get_package_import_url();
void set_package_import_url(ProgmemStr url);
} // namespace esphome::dashboard_import