diff --git a/lib/framework/UploadFileService.cpp b/lib/framework/UploadFileService.cpp index 188f29bf0..a9b4dea22 100644 --- a/lib/framework/UploadFileService.cpp +++ b/lib/framework/UploadFileService.cpp @@ -71,7 +71,7 @@ void UploadFileService::handleUpload(AsyncWebServerRequest * request, const Stri return; } #elif CONFIG_IDF_TARGET_ESP32S3 - if (len > 12 && (data[0] != 0xE9 || data[12] != 3)) { + if (len > 12 && (data[0] != 0xE9 || data[12] != 9)) { handleError(request, 503); // service unavailable return; } diff --git a/src/device_library.h b/src/device_library.h index 1a113e23a..3ef772b08 100644 --- a/src/device_library.h +++ b/src/device_library.h @@ -48,6 +48,7 @@ {208, DeviceType::BOILER, "Logamax Plus/GB192/Condens GC9000/Greenstar ErP", DeviceFlags::EMS_DEVICE_FLAG_NONE}, {210, DeviceType::BOILER, "Cascade MC400", DeviceFlags::EMS_DEVICE_FLAG_NONE}, {211, DeviceType::BOILER, "EasyControl Adapter", DeviceFlags::EMS_DEVICE_FLAG_NONE}, +{219, DeviceType::BOILER, "Greenstar HIU", DeviceFlags::EMS_DEVICE_FLAG_NONE}, {234, DeviceType::BOILER, "Logamax Plus GB122/Condense 2300", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // Controllers - 0x09 / 0x10 / 0x50 diff --git a/src/locale_common.h b/src/locale_common.h index 3419b9a47..dcaaf2e5e 100644 --- a/src/locale_common.h +++ b/src/locale_common.h @@ -291,7 +291,7 @@ MAKE_PSTR_ENUM(enum_modetype5, FL_(off), FL_(on)) MAKE_PSTR_ENUM(enum_reducemode, FL_(nofrost), FL_(reduce), FL_(room), FL_(outdoor)) MAKE_PSTR_ENUM(enum_reducemode1, FL_(outdoor), FL_(room), FL_(reduce)) // RC310 values: 1-3 -MAKE_PSTR_ENUM(enum_nofrostmode, FL_(off), FL_(room), FL_(outdoor)) +MAKE_PSTR_ENUM(enum_nofrostmode, FL_(off), FL_(outdoor), FL_(room)) MAKE_PSTR_ENUM(enum_nofrostmode1, FL_(room), FL_(outdoor), FL_(room_outdoor)) MAKE_PSTR_ENUM(enum_controlmode, FL_(off), FL_(optimized), FL_(simple), FL_(mpc), FL_(room), FL_(power), FL_(constant)) diff --git a/src/mqtt.cpp b/src/mqtt.cpp index e5172cf2d..1f9f644ab 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -815,8 +815,8 @@ void Mqtt::process_queue() { #if defined(EMSESP_DEBUG) LOG_DEBUG("[DEBUG] Waiting for QOS-ACK"); #endif - // if we don't get the ack within 10 minutes, republish with new packet_id - if (uuid::get_uptime_sec() - last_publish_queue_ < 600) { + // if we don't get the ack within 10 seconds, republish with new packet_id + if (uuid::get_uptime_sec() - last_publish_queue_ < 10) { return; } } diff --git a/src/system.cpp b/src/system.cpp index 36a816126..ae41d0d9b 100644 --- a/src/system.cpp +++ b/src/system.cpp @@ -659,7 +659,6 @@ void System::network_init(bool refresh) { } last_system_check_ = 0; // force the LED to go from fast flash to pulse - send_heartbeat(); if (phy_type_ == PHY_type::PHY_TYPE_NONE) { return; @@ -715,7 +714,6 @@ void System::system_check() { digitalWrite(led_gpio_, hide_led_ ? !LED_ON : LED_ON); #endif } - send_heartbeat(); } else { // turn off LED so we're ready to the flashes if (led_gpio_) { diff --git a/src/web/WebSettingsService.cpp b/src/web/WebSettingsService.cpp index 7fa82880f..03b879fb1 100644 --- a/src/web/WebSettingsService.cpp +++ b/src/web/WebSettingsService.cpp @@ -247,20 +247,27 @@ StateUpdateResult WebSettings::update(JsonObject & root, WebSettings & settings) prev = settings.bool_format; settings.bool_format = root["bool_format"] | EMSESP_DEFAULT_BOOL_FORMAT; EMSESP::system_.bool_format(settings.bool_format); - if (Mqtt::ha_enabled()) + if (Mqtt::ha_enabled()) { check_flag(prev, settings.bool_format, ChangeFlags::MQTT); + } prev = settings.enum_format; settings.enum_format = root["enum_format"] | EMSESP_DEFAULT_ENUM_FORMAT; EMSESP::system_.enum_format(settings.enum_format); - if (Mqtt::ha_enabled()) + if (Mqtt::ha_enabled()) { check_flag(prev, settings.enum_format, ChangeFlags::MQTT); + } + + String old_locale = settings.locale; + settings.locale = root["locale"] | EMSESP_DEFAULT_LOCALE; + EMSESP::system_.locale(settings.locale); + if (Mqtt::ha_enabled() && !old_locale.equals(settings.locale)) { + add_flags(ChangeFlags::MQTT); + } // // without checks or necessary restarts... // - settings.locale = root["locale"] | EMSESP_DEFAULT_LOCALE; - EMSESP::system_.locale(settings.locale); settings.trace_raw = root["trace_raw"] | EMSESP_DEFAULT_TRACELOG_RAW; EMSESP::trace_raw(settings.trace_raw);