mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2026-06-14 20:06:27 +03:00
Merge branch 'emsesp:core3' into core3
This commit is contained in:
@@ -1841,16 +1841,9 @@ void EMSESP::loop() {
|
|||||||
webLogService.loop(); // log in Web UI
|
webLogService.loop(); // log in Web UI
|
||||||
|
|
||||||
// run the loop, unless we're in the middle of an OTA upload
|
// run the loop, unless we're in the middle of an OTA upload
|
||||||
if (EMSESP::system_.systemStatus() == SYSTEM_STATUS::SYSTEM_STATUS_NORMAL || EMSESP::system_.systemStatus() == SYSTEM_STATUS::SYSTEM_STATUS_INVALID_GPIO) {
|
// if (EMSESP::system_.systemStatus() == SYSTEM_STATUS::SYSTEM_STATUS_NORMAL || EMSESP::system_.systemStatus() == SYSTEM_STATUS::SYSTEM_STATUS_INVALID_GPIO) {
|
||||||
// check for GPIO Errors - this is called once when booting
|
if (EMSESP::system_.systemStatus() != SYSTEM_STATUS::SYSTEM_STATUS_PENDING_UPLOAD
|
||||||
if (EMSESP::system_.systemStatus() == SYSTEM_STATUS::SYSTEM_STATUS_INVALID_GPIO) {
|
&& EMSESP::system_.systemStatus() != SYSTEM_STATUS::SYSTEM_STATUS_UPLOADING) {
|
||||||
static bool only_once = false;
|
|
||||||
if (!only_once) {
|
|
||||||
LOG_ERROR("Invalid GPIOs used. Please check your settings and the system log");
|
|
||||||
only_once = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// loop through the services
|
// loop through the services
|
||||||
webStatusService.loop(); // periodic refresh of cached versions.json
|
webStatusService.loop(); // periodic refresh of cached versions.json
|
||||||
rxservice_.loop(); // process any incoming Rx telegrams
|
rxservice_.loop(); // process any incoming Rx telegrams
|
||||||
@@ -1865,6 +1858,14 @@ void EMSESP::loop() {
|
|||||||
}
|
}
|
||||||
scheduled_fetch_values(); // force a query on the EMS devices to fetch latest data at a set interval (1 min)
|
scheduled_fetch_values(); // force a query on the EMS devices to fetch latest data at a set interval (1 min)
|
||||||
}
|
}
|
||||||
|
// check for GPIO Errors - this is called once when booting
|
||||||
|
if (EMSESP::system_.systemStatus() == SYSTEM_STATUS::SYSTEM_STATUS_INVALID_GPIO) {
|
||||||
|
static bool only_once = false;
|
||||||
|
if (!only_once) {
|
||||||
|
LOG_ERROR("Invalid GPIOs used. Please check your settings and the system log");
|
||||||
|
only_once = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (EMSESP::system_.systemStatus() == SYSTEM_STATUS::SYSTEM_STATUS_PENDING_UPLOAD) {
|
if (EMSESP::system_.systemStatus() == SYSTEM_STATUS::SYSTEM_STATUS_PENDING_UPLOAD) {
|
||||||
// start an upload from a URL, assuming the URL exists and set from a previous pass
|
// start an upload from a URL, assuming the URL exists and set from a previous pass
|
||||||
@@ -1877,6 +1878,17 @@ void EMSESP::loop() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// reset status after 5 Minutes
|
||||||
|
if (EMSESP::system_.systemStatus() != SYSTEM_STATUS::SYSTEM_STATUS_NORMAL) {
|
||||||
|
static uint32_t starttime = 0;
|
||||||
|
if (starttime == 0) {
|
||||||
|
starttime = uuid::get_uptime_ms();
|
||||||
|
} else if (uuid::get_uptime_ms() - starttime > 300000) {
|
||||||
|
starttime = 0;
|
||||||
|
EMSESP::system_.systemStatus(SYSTEM_STATUS::SYSTEM_STATUS_NORMAL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// telnet service
|
// telnet service
|
||||||
#ifndef EMSESP_STANDALONE
|
#ifndef EMSESP_STANDALONE
|
||||||
if (system_.telnet_enabled()) {
|
if (system_.telnet_enabled()) {
|
||||||
|
|||||||
@@ -4195,7 +4195,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
if (model == EMSdevice::EMS_DEVICE_FLAG_CR120 && mode_ == HeatingCircuit::Mode::MANUAL) {
|
if (model == EMSdevice::EMS_DEVICE_FLAG_CR120 && mode_ == HeatingCircuit::Mode::MANUAL) {
|
||||||
offset = 22; // manual offset CR120
|
offset = 22; // manual offset CR120
|
||||||
} else if (mode_ == HeatingCircuit::Mode::MANUAL) {
|
} else if (mode_ == HeatingCircuit::Mode::MANUAL) {
|
||||||
offset = 10; // manual offset
|
offset = hc->hpoperatingstate == 2 ? 17 : 10; // cooling or manual offset
|
||||||
} else {
|
} else {
|
||||||
offset = 8; // auto offset
|
offset = 8; // auto offset
|
||||||
// special case to reactivate auto temperature, see #737, #746
|
// special case to reactivate auto temperature, see #737, #746
|
||||||
|
|||||||
@@ -76,7 +76,9 @@ 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);
|
||||||
EMSESP::nvs_.remove(key);
|
if (EMSESP::nvs_.isKey(key)) {
|
||||||
|
EMSESP::nvs_.remove(key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
webScheduler.scheduleItems.clear();
|
webScheduler.scheduleItems.clear();
|
||||||
EMSESP::webSchedulerService.ha_reset();
|
EMSESP::webSchedulerService.ha_reset();
|
||||||
@@ -485,7 +487,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();
|
||||||
|
|||||||
@@ -179,6 +179,10 @@ void WebStatusService::systemStatus(AsyncWebServerRequest * request) {
|
|||||||
// we're ready to do the actual restart ASAP
|
// we're ready to do the actual restart ASAP
|
||||||
EMSESP::system_.systemStatus(SYSTEM_STATUS::SYSTEM_STATUS_RESTART_REQUESTED);
|
EMSESP::system_.systemStatus(SYSTEM_STATUS::SYSTEM_STATUS_RESTART_REQUESTED);
|
||||||
}
|
}
|
||||||
|
if (EMSESP::system_.systemStatus() == SYSTEM_STATUS::SYSTEM_STATUS_ERROR_UPLOAD) {
|
||||||
|
// error is reported, back to normal state
|
||||||
|
EMSESP::system_.systemStatus(SYSTEM_STATUS::SYSTEM_STATUS_NORMAL);
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user