From b85883993f961f4483df1eb9ab5c9dc617d14c9c Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Wed, 27 Mar 2024 09:15:57 +0100 Subject: [PATCH] resetUtilitiesGroups on page load --- components/nspanel_ha_blueprint/utilities.cpp | 33 ++++++++++++------- components/nspanel_ha_blueprint/utilities.h | 1 + esphome/nspanel_esphome_core.yaml | 11 ++----- 3 files changed, 25 insertions(+), 20 deletions(-) diff --git a/components/nspanel_ha_blueprint/utilities.cpp b/components/nspanel_ha_blueprint/utilities.cpp index 7851a2e..8201118 100644 --- a/components/nspanel_ha_blueprint/utilities.cpp +++ b/components/nspanel_ha_blueprint/utilities.cpp @@ -5,17 +5,28 @@ namespace nspanel_ha_blueprint { - // Definition and initialization of the global variable - UtilitiesGroupValues UtilitiesGroups[8] = { - { "grid", "\0", "\0", 0 }, - { "group01", "\0", "\0", 0 }, - { "group02", "\0", "\0", 0 }, - { "group03", "\0", "\0", 0 }, - { "group04", "\0", "\0", 0 }, - { "group05", "\0", "\0", 0 }, - { "group06", "\0", "\0", 0 }, - { "home", "\0", "\0", 0 } - }; + UtilitiesGroupValues UtilitiesGroups[8]; + + void resetUtilitiesGroups() { + // Temporary structure to hold the initial values + const UtilitiesGroupValues initialUtilitiesGroups[8] = { + { "grid", "\0", "\0", 0 }, + { "group01", "\0", "\0", 0 }, + { "group02", "\0", "\0", 0 }, + { "group03", "\0", "\0", 0 }, + { "group04", "\0", "\0", 0 }, + { "group05", "\0", "\0", 0 }, + { "group06", "\0", "\0", 0 }, + { "home", "\0", "\0", 0 } + }; + + for (size_t i = 0; i < 8; ++i) { + std::strcpy(UtilitiesGroups[i].group_id, initialUtilitiesGroups[i].group_id); + std::strcpy(UtilitiesGroups[i].value1, initialUtilitiesGroups[i].value1); + std::strcpy(UtilitiesGroups[i].value2, initialUtilitiesGroups[i].value2); + UtilitiesGroups[i].direction = initialUtilitiesGroups[i].direction; + } + } uint8_t findUtilitiesGroupIndex(const char* group_id) { int low = 0; diff --git a/components/nspanel_ha_blueprint/utilities.h b/components/nspanel_ha_blueprint/utilities.h index 176fdba..e5f6d2d 100644 --- a/components/nspanel_ha_blueprint/utilities.h +++ b/components/nspanel_ha_blueprint/utilities.h @@ -14,6 +14,7 @@ namespace nspanel_ha_blueprint { extern UtilitiesGroupValues UtilitiesGroups[8]; + void resetUtilitiesGroups(); uint8_t findUtilitiesGroupIndex(const char* group_id); } // namespace nspanel_ha_blueprint diff --git a/esphome/nspanel_esphome_core.yaml b/esphome/nspanel_esphome_core.yaml index fc951a2..b026347 100644 --- a/esphome/nspanel_esphome_core.yaml +++ b/esphome/nspanel_esphome_core.yaml @@ -101,15 +101,7 @@ esp32: framework: type: esp-idf sdkconfig_options: - CONFIG_D0WD_PSRAM_CLK_IO: "5" - CONFIG_D0WD_PSRAM_CS_IO: "18" CONFIG_ESP32_REV_MIN_3: "y" - CONFIG_SPIRAM_SUPPORT: "y" - -psram: - id: ext_ram - mode: quad - speed: 80MHz ##### WIFI SETUP ##### wifi: @@ -2421,7 +2413,8 @@ script: - id: page_utilities mode: restart - then: # There's nothing here so far + then: + - lambda: resetUtilitiesGroups(); - id: page_weather mode: restart