diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index c77273f9f..c85e5572e 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -13,16 +13,27 @@ - heatpump energy meters [#1463](https://github.com/emsesp/EMS-ESP32/issues/1463) - heatpump max power [#1475](https://github.com/emsesp/EMS-ESP32/issues/1475) - checkbox for MQTT-TLS enable [#1474](https://github.com/emsesp/EMS-ESP32/issues/1474) -- added SK (Slovencina) language. Thanks @misa1515 +- added SK (Slovenian) language. Thanks @misa1515 - CPU info [#1497](https://github.com/emsesp/EMS-ESP32/pull/1497) +- Show network hostname in Web UI under Network Status +- Improved HA Discovery so each section (EMS device, Scheduler, Analog, Temperature, Custom, Shower) have their own section +- boiler Bosch C1200W, id 12, [#1536](https://github.com/emsesp/EMS-ESP32/issues/1536) +- mixer MM100 telegram 0x2CC [#1554](https://github.com/emsesp/EMS-ESP32/issues/1554) +- boiler hpSetDiffPressure [#1563](https://github.com/emsesp/EMS-ESP32/issues/1563) +- custom variables [#1423](https://github.com/emsesp/EMS-ESP32/issues/1423) ## Fixed - exhaust temperature for some boilers - add back boil2hyst [#1477](https://github.com/emsesp/EMS-ESP32/issues/1477) - subscribed MQTT topics not detecting changes by EMS-ESP [#1494](https://github.com/emsesp/EMS-ESP32/issues/1494) +- changed HA name and grouping to be consistent [#1528](https://github.com/emsesp/EMS-ESP32/issues/1528) +- MQTT autodiscovery in Domoticz not working [#1360](https://github.com/emsesp/EMS-ESP32/issues/1528) +- dhw comfort for new ems+, [#1495](https://github.com/emsesp/EMS-ESP32/issues/1495) +- added writeable icon to Web's Custom Entity page for each entity shown in the table ## Changed - use flag for BC400 compatible thermostats, manage different mode settings - HA don't set entity_category to Diagnostic/Configuration for EMS entities [#1459](https://github.com/emsesp/EMS-ESP32/discussions/1459) +- upgraded ArduinoJson to 7.0.0 #1538 and then 7.0.2 diff --git a/interface/package.json b/interface/package.json index 15f79bc2c..208151e8d 100644 --- a/interface/package.json +++ b/interface/package.json @@ -20,20 +20,20 @@ "lint": "eslint . --cache --fix" }, "dependencies": { - "@alova/adapter-xhr": "^1.0.2", + "@alova/adapter-xhr": "^1.0.3", "@babel/core": "^7.23.7", "@emotion/react": "^11.11.3", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.15.3", - "@mui/material": "^5.15.3", + "@mui/icons-material": "^5.15.5", + "@mui/material": "^5.15.5", "@table-library/react-table-library": "4.1.7", "@types/imagemin": "^8.0.5", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.10.6", - "@types/react": "^18.2.46", + "@types/node": "^20.11.5", + "@types/react": "^18.2.48", "@types/react-dom": "^18.2.18", "@types/react-router-dom": "^5.3.3", - "alova": "^2.16.2", + "alova": "^2.17.0", "async-validator": "^4.2.5", "history": "^5.3.0", "jwt-decode": "^4.0.0", @@ -42,9 +42,9 @@ "react": "latest", "react-dom": "latest", "react-dropzone": "^14.2.3", - "react-icons": "^4.12.0", - "react-router-dom": "^6.21.1", - "react-toastify": "^9.1.3", + "react-icons": "^5.0.1", + "react-router-dom": "^6.21.3", + "react-toastify": "^10.0.4", "sockette": "^2.0.6", "typesafe-i18n": "^5.26.2", "typescript": "^5.3.3" @@ -52,8 +52,8 @@ "devDependencies": { "@preact/compat": "^17.1.2", "@preact/preset-vite": "^2.8.1", - "@typescript-eslint/eslint-plugin": "^6.17.0", - "@typescript-eslint/parser": "^6.17.0", + "@typescript-eslint/eslint-plugin": "^6.19.0", + "@typescript-eslint/parser": "^6.19.0", "concurrently": "^8.2.2", "eslint": "^8.56.0", "eslint-config-airbnb": "^19.0.4", @@ -67,12 +67,12 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "preact": "^10.19.3", - "prettier": "^3.1.1", + "prettier": "^3.2.4", "rollup-plugin-visualizer": "^5.12.0", - "terser": "^5.26.0", - "vite": "^5.0.10", + "terser": "^5.27.0", + "vite": "^5.0.12", "vite-plugin-imagemin": "^0.6.1", - "vite-tsconfig-paths": "^4.2.3" + "vite-tsconfig-paths": "^4.3.1" }, "packageManager": "yarn@4.0.2" } diff --git a/interface/progmem-generator.js b/interface/progmem-generator.js index 98d74f5f4..e68e047b6 100644 --- a/interface/progmem-generator.js +++ b/interface/progmem-generator.js @@ -12,6 +12,7 @@ var totalSize = 0; const generateWWWClass = () => `typedef std::function RouteRegistrationHandler; +// Total size is ${totalSize} bytes class WWWData { ${indent}public: diff --git a/interface/src/components/upload/SingleUpload.tsx b/interface/src/components/upload/SingleUpload.tsx index 498e4b913..bbd3e9ce3 100644 --- a/interface/src/components/upload/SingleUpload.tsx +++ b/interface/src/components/upload/SingleUpload.tsx @@ -50,8 +50,10 @@ const SingleUpload: FC = ({ onDrop, onCancel, isUploading, pr const progressText = () => { if (uploading) { - if (progress.total) { - return LL.UPLOADING() + ': ' + Math.round((progress.loaded * 100) / progress.total) + '%'; + if (progress.total && progress.loaded) { + return progress.loaded <= progress.total + ? LL.UPLOADING() + ': ' + Math.round((progress.loaded * 100) / progress.total) + '%' + : LL.UPLOADING() + ': ' + Math.round((progress.total * 100) / progress.loaded) + '%'; } } return LL.UPLOAD_DROP_TEXT(); @@ -83,7 +85,13 @@ const SingleUpload: FC = ({ onDrop, onCancel, isUploading, pr