diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 85cb84d01..a2ca151d1 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -1,26 +1,22 @@ # Changelog -# [3.6.1] +## [3.6.1] ## **IMPORTANT! BREAKING CHANGES** -- shower_data MQTT topic shows duration is seconds (was previously an English string) +- `shower_data` MQTT topic shows duration is seconds (was previously a full english sentence) ## Added -- rssi in Network Status Page -- boiler nominal power from telegram 0x04 -- boiler energy for heating and dhw stored in nvs -- analogsensor counter value stored in nvs +- show WiFi rssi in Network Status Page ## Fixed -- issue in espMqttClient on low mem -- mqtt subscription to scheduler and custom -- HA configuration for scheduler and custom +- Issue in espMqttClient causing a memory leak when MQTT broker is disconnected due to network unavailability [#1264](https://github.com/emsesp/EMS-ESP32/issues/1264) +- Using MQTT enum values correctly formatted in MQTT Discovery [#1280](https://github.com/emsesp/EMS-ESP32/issues/1280) ## Changed -- mqtt free mem check 60k +- mqtt free mem check set to 60 kb - small cosmetic changes to Searching in Customization web page -- update to espressif32@6.4.0 +- updated to espressif32@6.4.0 diff --git a/interface/package.json b/interface/package.json index 776cf140e..13a43fbda 100644 --- a/interface/package.json +++ b/interface/package.json @@ -42,7 +42,7 @@ "react": "latest", "react-dom": "latest", "react-dropzone": "^14.2.3", - "react-icons": "^4.10.1", + "react-icons": "^4.11.0", "react-router-dom": "^6.15.0", "react-toastify": "^9.1.3", "sockette": "^2.0.6", diff --git a/interface/yarn.lock b/interface/yarn.lock index 09e72a0b2..702b5a5c4 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1783,7 +1783,7 @@ __metadata: react: latest react-dom: latest react-dropzone: ^14.2.3 - react-icons: ^4.10.1 + react-icons: ^4.11.0 react-router-dom: ^6.15.0 react-toastify: ^9.1.3 rollup-plugin-visualizer: ^5.9.2 @@ -5144,12 +5144,12 @@ __metadata: languageName: node linkType: hard -"react-icons@npm:^4.10.1": - version: 4.10.1 - resolution: "react-icons@npm:4.10.1" +"react-icons@npm:^4.11.0": + version: 4.11.0 + resolution: "react-icons@npm:4.11.0" peerDependencies: react: "*" - checksum: aa4ecd390751bf61fc7967c2256eace1351c4af9a941ea4459464ac5cae012fe99970430ab659ad38a633ca55b0392d9ea5624ab3953c0bc86e1809199d6e2e2 + checksum: 95e837e11ece80cc39ef1beac026d10f96cd7e567afc718e717517beb35b82dd59307a758c10b3a449dc15d6682d6551ecc630b2821d9365819af921fa279a73 languageName: node linkType: hard diff --git a/pio_local.ini_example b/pio_local.ini_example index 1e70e81db..5180d1c53 100644 --- a/pio_local.ini_example +++ b/pio_local.ini_example @@ -18,6 +18,7 @@ default_envs = esp32_4M ; default_envs = esp32_16M ; default_envs = lolin_s3 ; default_envs = standalone +; default_envs = debug [env:esp32_4M] ; if using OTA enter your details below @@ -33,6 +34,8 @@ upload_port = /dev/ttyUSB* ; override arduino espressif core platform = espressif32 ; take latest ; platform = espressif32@5.3.0 +; platform = espressif32@6.3.2 +; platform = espressif32@6.4.0 extra_scripts = pre:scripts/build_interface.py ; comment out if you don't want to re-build the WebUI each time @@ -52,13 +55,21 @@ extra_scripts = ; options for debugging are: EMSESP_DEBUG EMSESP_UART_DEBUG EMSESP_DEBUG_SENSOR [env:debug] board = esp32dev +framework = arduino platform = espressif32 board_build.partitions = esp32_partition_debug.csv +; board_build.partitions = esp32_partition_4M.csv +board_upload.flash_size = 4MB +board_build.filesystem = littlefs upload_protocol = esptool build_type = debug monitor_raw = no monitor_filters = esp32_exception_decoder debug_tool = esp-prog debug_init_break = tbreak setup -build_flags = ${factory_settings.build_flags} -DONEWIRE_CRC16=0 -DNO_GLOBAL_ARDUINOOTA -DARDUINOJSON_ENABLE_STD_STRING=1 -DESP32=1 -DARDUINO_ARCH_ESP32=1 -extra_scripts = pre:scripts/build_interface.py +build_flags = ${factory_settings.build_flags} -DEMSESP_EN_ONLY -DCORE_DEBUG_LEVEL=5 -DONEWIRE_CRC16=0 -DNO_GLOBAL_ARDUINOOTA -DARDUINOJSON_ENABLE_STD_STRING=1 -DESP32=1 -DARDUINO_ARCH_ESP32=1 +upload_port = /dev/ttyUSB0 +extra_scripts = + ; pre:scripts/build_interface.py ; comment out if you don't want to re-build the WebUI each time + scripts/rename_fw.py + ; post:scripts/app-tls-size.py diff --git a/src/mqtt.cpp b/src/mqtt.cpp index 929cb0d1a..77e033535 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -919,10 +919,20 @@ bool Mqtt::publish_ha_sensor_config(uint8_t type, // EMSdev // for enums, add options if (type == DeviceValueType::ENUM) { JsonArray option_list = doc.createNestedArray("ops"); // options - for (uint8_t i = 0; i < options_size; i++) { - option_list.add(Helpers::translated_word(options[i])); + if (EMSESP::system_.enum_format() == ENUM_FORMAT_INDEX) { + // use index numbers + for (uint8_t i = 0; i < options_size; i++) { + option_list.add(i); + } + snprintf(sample_val, sizeof(sample_val), "0"); + } else { + // use strings + for (uint8_t i = 0; i < options_size; i++) { + option_list.add(Helpers::translated_word(options[i])); + } + snprintf(sample_val, sizeof(sample_val), "'%s'", Helpers::translated_word(options[0])); } - snprintf(sample_val, sizeof(sample_val), "'%s'", Helpers::translated_word(options[0])); + } else if (type != DeviceValueType::STRING && type != DeviceValueType::BOOL) { // Must be Numeric.... doc["mode"] = "box"; // auto, slider or box diff --git a/src/version.h b/src/version.h index 36cf5a32a..62f37d1be 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.6.1-dev.1a" +#define EMSESP_APP_VERSION "3.6.1-dev.2"