fix looping of immediate schedule, fix errormessage nvs

This commit is contained in:
MichaelDvP
2026-06-07 16:29:08 +02:00
parent cc1808289a
commit f6308d61eb

View File

@@ -76,8 +76,10 @@ StateUpdateResult WebScheduler::update(JsonObject root, WebScheduler & webSchedu
for (ScheduleItem & scheduleItem : webScheduler.scheduleItems) { for (ScheduleItem & scheduleItem : webScheduler.scheduleItems) {
char key[sizeof(scheduleItem.name) + 2]; char key[sizeof(scheduleItem.name) + 2];
snprintf(key, sizeof(key), "s:%s", scheduleItem.name); snprintf(key, sizeof(key), "s:%s", scheduleItem.name);
if (EMSESP::nvs_.isKey(key)) {
EMSESP::nvs_.remove(key); EMSESP::nvs_.remove(key);
} }
}
webScheduler.scheduleItems.clear(); webScheduler.scheduleItems.clear();
EMSESP::webSchedulerService.ha_reset(); EMSESP::webSchedulerService.ha_reset();
@@ -491,7 +493,7 @@ void WebSchedulerService::loop() {
for (ScheduleItem & scheduleItem : *scheduleItems_) { for (ScheduleItem & scheduleItem : *scheduleItems_) {
if (scheduleItem.active && scheduleItem.flags == SCHEDULEFLAG_SCHEDULE_IMMEDIATE) { if (scheduleItem.active && scheduleItem.flags == SCHEDULEFLAG_SCHEDULE_IMMEDIATE) {
command(scheduleItem.name, scheduleItem.cmd.c_str(), compute_cmd_value(scheduleItem.cmd, scheduleItem.value)); command(scheduleItem.name, scheduleItem.cmd.c_str(), compute_cmd_value(scheduleItem.cmd, scheduleItem.value));
// scheduleItem.active = false; scheduleItem.active = false;
publish_single(scheduleItem.name, false); publish_single(scheduleItem.name, false);
if (EMSESP::mqtt_.get_publish_onchange(0)) { if (EMSESP::mqtt_.get_publish_onchange(0)) {
publish(); publish();