mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2026-09-13 13:44:10 +00:00
preparing 3.9.0-dev.0
This commit is contained in:
@@ -5,6 +5,36 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [3.8.3] 1 August 2026
|
||||
|
||||
## Added
|
||||
|
||||
- KM300 at address 0x4A [#3084](https://github.com/emsesp/EMS-ESP32/issues/3084)
|
||||
|
||||
## Fixed
|
||||
|
||||
- signed value for solarInfuence [#3077](https://github.com/emsesp/EMS-ESP32/issues/3077)
|
||||
- set bin file upload limit to 1M again [#3086](https://github.com/emsesp/EMS-ESP32/issues/3086)
|
||||
- check arithmetric operations on strings [#3127](https://github.com/emsesp/EMS-ESP32/discussions/3127)
|
||||
- prevent system crash during WiFi network discovery on ESP32-S3 hardware [#3128](https://github.com/emsesp/EMS-ESP32/pull/3128)
|
||||
- fix setting date/time on Junkers thermostats
|
||||
- offset of hpminflowtemp [#3144](https://github.com/emsesp/EMS-ESP32/issues/3144)
|
||||
- water circulation command [#3149](https://github.com/emsesp/EMS-ESP32/pull/3149)
|
||||
- start scheduler after customEntities, delay scheduler loop after startup, handling of `system/restart` command [#3146](https://github.com/emsesp/EMS-ESP32/issues/3146)
|
||||
- possible memory leaks fixed.
|
||||
- repeated startup schedules compute value
|
||||
- call `system/message` called from scheduler processes compute twice
|
||||
- water module SM100/200 as dhw1/dhw2 [#3164](https://github.com/emsesp/EMS-ESP32/issues/3164)
|
||||
|
||||
## Changed
|
||||
|
||||
- call compute value direct, enlarge TCP stack [#3127](https://github.com/emsesp/EMS-ESP32/discussions/3127)
|
||||
- Dewtemperature for Easycontrol calculated by ems-esp [#3135](https://github.com/emsesp/EMS-ESP32/issues/3135)
|
||||
- add option for sync thermostat to ntp, allow different time zones [#3148](https://github.com/emsesp/EMS-ESP32/discussions/3148), **defaults to sync**.
|
||||
- block too many GET requests [mentioned in #3104](https://github.com/emsesp/EMS-ESP32/issues/3104)
|
||||
- set 10 sec timeout for http requests [#3104](https://github.com/emsesp/EMS-ESP32/issues/3104)
|
||||
- language code "cs" [#3161](https://github.com/emsesp/EMS-ESP32/issues/3161)
|
||||
|
||||
## [3.8.2] 12 May 2026
|
||||
|
||||
## Added
|
||||
|
||||
+3
-15
@@ -4,27 +4,18 @@ For more details go to [emsesp.org](https://emsesp.org/).
|
||||
|
||||
## [3.9.0]
|
||||
|
||||
This release is based on the latest Espressif/Arduino core version 3. It brings in many memory and performance optimizations. Note it does require the user to manually migrate settings from 3.8.x to 3.9.0.
|
||||
|
||||
## Added
|
||||
|
||||
- user-requested LED blink [#3063](https://github.com/emsesp/EMS-ESP32/issues/3063)
|
||||
- KM300 at address 0x4A [#3084](https://github.com/emsesp/EMS-ESP32/issues/3084)
|
||||
- Commands Service that can be called via MQTT or API or used in the Scheduler Service
|
||||
- option to disable factory reset [#3150](https://github.com/emsesp/EMS-ESP32/issues/3150)
|
||||
- TLS support with 4MB boards without PSRAM
|
||||
|
||||
## Fixed
|
||||
|
||||
- signed value for solarInfuence [#3077](https://github.com/emsesp/EMS-ESP32/issues/3077)
|
||||
- TLS support with 4MB boards without PSRAM
|
||||
- prevent system crash during WiFi network discovery on ESP32-S3 hardware [#3128](https://github.com/emsesp/EMS-ESP32/pull/3128)
|
||||
- check arithmetric operations on strings [#3127](https://github.com/emsesp/EMS-ESP32/discussions/3127)
|
||||
- fix setting date/time on Junkers thermostats
|
||||
- offset of hpminflowtemp [#3144](https://github.com/emsesp/EMS-ESP32/issues/3144)
|
||||
- water circulation command [#3149](https://github.com/emsesp/EMS-ESP32/pull/3149)
|
||||
- start scheduler after customEntities, delay scheduler loop after startup, handling of `system/restart` command [#3146](https://github.com/emsesp/EMS-ESP32/issues/3146)
|
||||
- possible memory leaks fixed
|
||||
- repeated startup schedules compute value
|
||||
- shunting yard show json
|
||||
- water module SM100/200 as dhw1/dhw2 [#3164](https://github.com/emsesp/EMS-ESP32/issues/3164)
|
||||
|
||||
## Changed
|
||||
|
||||
@@ -32,8 +23,5 @@ For more details go to [emsesp.org](https://emsesp.org/).
|
||||
- Scheduler name is now mandatory
|
||||
- network fallback to AP only after start [#3090](https://github.com/emsesp/EMS-ESP32/issues/3090)
|
||||
- replaced Web async-validator with custom validator and toast with native snackbar to reduce bundle size
|
||||
- Dewtemperature for Easycontrol calculated by ems-esp [#3135](https://github.com/emsesp/EMS-ESP32/issues/3135)
|
||||
- add option for sync thermostat to ntp, allow different time zones [#3148](https://github.com/emsesp/EMS-ESP32/discussions/3148), **defaults to sync**.
|
||||
- block too many GET requests [mentioned in #3104](https://github.com/emsesp/EMS-ESP32/issues/3104)
|
||||
- Gateway and Connect devices are shown in the Devices page, but disabled [3126](https://github.com/emsesp/EMS-ESP32/discussions/3126)
|
||||
|
||||
|
||||
+1
-1
@@ -249,7 +249,7 @@
|
||||
"value_type": 9,
|
||||
"writeable": true,
|
||||
"hide": false,
|
||||
"value": "{\"stable\":{\"version\":\"3.8.2\",\"date\":\"2026-05-12\"},\"dev\":{\"version\":\"3.8.3-dev.5\",\"date\":\"2026-05-28T09:55:29Z\"}}"
|
||||
"value": "{\"stable\":{\"version\":\"3.8.3\",\"date\":\"2026-08-01\"},\"dev\":{\"version\":\"3.9.0-dev.0\",\"date\":\"2026-08-01T09:55:29Z\"}}"
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
"@table-library/react-table-library": "4.1.15",
|
||||
"alova": "^3.5.3",
|
||||
"jwt-decode": "^4.0.0",
|
||||
"preact": "^10.29.7",
|
||||
"preact": "^10.29.8",
|
||||
"react": "^19.2.8",
|
||||
"react-dom": "^19.2.8",
|
||||
"react-icons": "^5.7.0",
|
||||
|
||||
Generated
+65
-19
@@ -33,8 +33,8 @@ importers:
|
||||
specifier: ^4.0.0
|
||||
version: 4.0.0
|
||||
preact:
|
||||
specifier: ^10.29.7
|
||||
version: 10.29.7
|
||||
specifier: ^10.29.8
|
||||
version: 10.29.8
|
||||
react:
|
||||
specifier: ^19.2.8
|
||||
version: 19.2.8
|
||||
@@ -56,7 +56,7 @@ importers:
|
||||
version: 10.0.1(eslint@10.8.0(supports-color@10.2.2))
|
||||
'@preact/preset-vite':
|
||||
specifier: ^2.10.6
|
||||
version: 2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@10.29.7)(supports-color@10.2.2)(vite@8.2.0(@types/node@26.1.2)(terser@5.49.0))
|
||||
version: 2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@10.29.8)(supports-color@10.2.2)(vite@8.2.0(@types/node@26.1.2)(terser@5.49.0))
|
||||
'@trivago/prettier-plugin-sort-imports':
|
||||
specifier: ^6.0.2
|
||||
version: 6.0.2(prettier@3.9.6)(supports-color@10.2.2)
|
||||
@@ -135,6 +135,10 @@ packages:
|
||||
resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/generator@7.29.8':
|
||||
resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/helper-annotate-as-pure@7.29.7':
|
||||
resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
@@ -182,6 +186,11 @@ packages:
|
||||
engines: {node: '>=6.0.0'}
|
||||
hasBin: true
|
||||
|
||||
'@babel/parser@7.29.8':
|
||||
resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
hasBin: true
|
||||
|
||||
'@babel/plugin-syntax-jsx@7.29.7':
|
||||
resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
@@ -212,10 +221,18 @@ packages:
|
||||
resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/traverse@7.29.8':
|
||||
resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/types@7.29.7':
|
||||
resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/types@7.29.8':
|
||||
resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@emnapi/core@2.0.0-alpha.3':
|
||||
resolution: {integrity: sha512-AZypUeJ/yByuxyS7BlSNRDOMLMlROYtjYdIAuBmJssVz1UJDSeYxLrdizhXCFYhedC5bqd/ASy8EuNXbVVXp9g==}
|
||||
|
||||
@@ -2374,8 +2391,8 @@ packages:
|
||||
resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
preact@10.29.7:
|
||||
resolution: {integrity: sha512-DCHYrK/B10yUD3ZjLfhZ3WIE/9Vf9VFUODcRE2dRomTYDpJk6z6L9wecSfhfE6M9ZTHUdyQkoC46arIDhEV84Q==}
|
||||
preact@10.29.8:
|
||||
resolution: {integrity: sha512-ej2aVZ+vZ8WO7tvlQWRM9N63A0KzF9q4mWJfDUHgYaIofWY9hu74QdnQrjoPMmZi2/nZ5gN0bJCQF49xQqx09Q==}
|
||||
peerDependencies:
|
||||
preact-render-to-string: '>=5'
|
||||
peerDependenciesMeta:
|
||||
@@ -3050,9 +3067,17 @@ snapshots:
|
||||
'@jridgewell/trace-mapping': 0.3.31
|
||||
jsesc: 3.1.0
|
||||
|
||||
'@babel/generator@7.29.8':
|
||||
dependencies:
|
||||
'@babel/parser': 7.29.8
|
||||
'@babel/types': 7.29.8
|
||||
'@jridgewell/gen-mapping': 0.3.13
|
||||
'@jridgewell/trace-mapping': 0.3.31
|
||||
jsesc: 3.1.0
|
||||
|
||||
'@babel/helper-annotate-as-pure@7.29.7':
|
||||
dependencies:
|
||||
'@babel/types': 7.29.7
|
||||
'@babel/types': 7.29.8
|
||||
|
||||
'@babel/helper-compilation-targets@7.29.7':
|
||||
dependencies:
|
||||
@@ -3097,6 +3122,10 @@ snapshots:
|
||||
dependencies:
|
||||
'@babel/types': 7.29.7
|
||||
|
||||
'@babel/parser@7.29.8':
|
||||
dependencies:
|
||||
'@babel/types': 7.29.8
|
||||
|
||||
'@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))':
|
||||
dependencies:
|
||||
'@babel/core': 7.29.7(supports-color@10.2.2)
|
||||
@@ -3116,7 +3145,7 @@ snapshots:
|
||||
'@babel/helper-module-imports': 7.29.7(supports-color@10.2.2)
|
||||
'@babel/helper-plugin-utils': 7.29.7
|
||||
'@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))
|
||||
'@babel/types': 7.29.7
|
||||
'@babel/types': 7.29.8
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -3140,11 +3169,28 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/traverse@7.29.8(supports-color@10.2.2)':
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.29.7
|
||||
'@babel/generator': 7.29.8
|
||||
'@babel/helper-globals': 7.29.7
|
||||
'@babel/parser': 7.29.8
|
||||
'@babel/template': 7.29.7
|
||||
'@babel/types': 7.29.8
|
||||
debug: 4.4.3(supports-color@10.2.2)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/types@7.29.7':
|
||||
dependencies:
|
||||
'@babel/helper-string-parser': 7.29.7
|
||||
'@babel/helper-validator-identifier': 7.29.7
|
||||
|
||||
'@babel/types@7.29.8':
|
||||
dependencies:
|
||||
'@babel/helper-string-parser': 7.29.7
|
||||
'@babel/helper-validator-identifier': 7.29.7
|
||||
|
||||
'@emnapi/core@2.0.0-alpha.3':
|
||||
dependencies:
|
||||
'@emnapi/wasi-threads': 2.0.1
|
||||
@@ -3431,12 +3477,12 @@ snapshots:
|
||||
|
||||
'@popperjs/core@2.11.8': {}
|
||||
|
||||
'@preact/preset-vite@2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@10.29.7)(supports-color@10.2.2)(vite@8.2.0(@types/node@26.1.2)(terser@5.49.0))':
|
||||
'@preact/preset-vite@2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@10.29.8)(supports-color@10.2.2)(vite@8.2.0(@types/node@26.1.2)(terser@5.49.0))':
|
||||
dependencies:
|
||||
'@babel/core': 7.29.7(supports-color@10.2.2)
|
||||
'@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)
|
||||
'@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)
|
||||
'@prefresh/vite': 2.4.12(preact@10.29.7)(supports-color@10.2.2)(vite@8.2.0(@types/node@26.1.2)(terser@5.49.0))
|
||||
'@prefresh/vite': 2.4.12(preact@10.29.8)(supports-color@10.2.2)(vite@8.2.0(@types/node@26.1.2)(terser@5.49.0))
|
||||
'@rollup/pluginutils': 5.4.0
|
||||
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.29.7(supports-color@10.2.2))
|
||||
debug: 4.4.3(supports-color@10.2.2)
|
||||
@@ -3452,20 +3498,20 @@ snapshots:
|
||||
|
||||
'@prefresh/babel-plugin@0.5.3': {}
|
||||
|
||||
'@prefresh/core@1.5.10(preact@10.29.7)':
|
||||
'@prefresh/core@1.5.10(preact@10.29.8)':
|
||||
dependencies:
|
||||
preact: 10.29.7
|
||||
preact: 10.29.8
|
||||
|
||||
'@prefresh/utils@1.2.1': {}
|
||||
|
||||
'@prefresh/vite@2.4.12(preact@10.29.7)(supports-color@10.2.2)(vite@8.2.0(@types/node@26.1.2)(terser@5.49.0))':
|
||||
'@prefresh/vite@2.4.12(preact@10.29.8)(supports-color@10.2.2)(vite@8.2.0(@types/node@26.1.2)(terser@5.49.0))':
|
||||
dependencies:
|
||||
'@babel/core': 7.29.7(supports-color@10.2.2)
|
||||
'@prefresh/babel-plugin': 0.5.3
|
||||
'@prefresh/core': 1.5.10(preact@10.29.7)
|
||||
'@prefresh/core': 1.5.10(preact@10.29.8)
|
||||
'@prefresh/utils': 1.2.1
|
||||
'@rollup/pluginutils': 4.2.1
|
||||
preact: 10.29.7
|
||||
preact: 10.29.8
|
||||
vite: 8.2.0(@types/node@26.1.2)(terser@5.49.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -3545,10 +3591,10 @@ snapshots:
|
||||
|
||||
'@trivago/prettier-plugin-sort-imports@6.0.2(prettier@3.9.6)(supports-color@10.2.2)':
|
||||
dependencies:
|
||||
'@babel/generator': 7.29.7
|
||||
'@babel/parser': 7.29.7
|
||||
'@babel/traverse': 7.29.7(supports-color@10.2.2)
|
||||
'@babel/types': 7.29.7
|
||||
'@babel/generator': 7.29.8
|
||||
'@babel/parser': 7.29.8
|
||||
'@babel/traverse': 7.29.8(supports-color@10.2.2)
|
||||
'@babel/types': 7.29.8
|
||||
javascript-natural-sort: 0.7.1
|
||||
lodash-es: 4.18.1
|
||||
minimatch: 9.0.9
|
||||
@@ -5343,7 +5389,7 @@ snapshots:
|
||||
|
||||
powershell-utils@0.1.0: {}
|
||||
|
||||
preact@10.29.7: {}
|
||||
preact@10.29.8: {}
|
||||
|
||||
prelude-ls@1.2.1: {}
|
||||
|
||||
|
||||
Generated
+24
-24
@@ -31,8 +31,8 @@ packages:
|
||||
resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/generator@7.29.7':
|
||||
resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==}
|
||||
'@babel/generator@7.29.8':
|
||||
resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/helper-globals@7.29.7':
|
||||
@@ -47,8 +47,8 @@ packages:
|
||||
resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/parser@7.29.7':
|
||||
resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==}
|
||||
'@babel/parser@7.29.8':
|
||||
resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
hasBin: true
|
||||
|
||||
@@ -56,12 +56,12 @@ packages:
|
||||
resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/traverse@7.29.7':
|
||||
resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==}
|
||||
'@babel/traverse@7.29.8':
|
||||
resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/types@7.29.7':
|
||||
resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==}
|
||||
'@babel/types@7.29.8':
|
||||
resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@jridgewell/gen-mapping@0.3.13':
|
||||
@@ -184,10 +184,10 @@ snapshots:
|
||||
js-tokens: 4.0.0
|
||||
picocolors: 1.1.1
|
||||
|
||||
'@babel/generator@7.29.7':
|
||||
'@babel/generator@7.29.8':
|
||||
dependencies:
|
||||
'@babel/parser': 7.29.7
|
||||
'@babel/types': 7.29.7
|
||||
'@babel/parser': 7.29.8
|
||||
'@babel/types': 7.29.8
|
||||
'@jridgewell/gen-mapping': 0.3.13
|
||||
'@jridgewell/trace-mapping': 0.3.31
|
||||
jsesc: 3.1.0
|
||||
@@ -198,29 +198,29 @@ snapshots:
|
||||
|
||||
'@babel/helper-validator-identifier@7.29.7': {}
|
||||
|
||||
'@babel/parser@7.29.7':
|
||||
'@babel/parser@7.29.8':
|
||||
dependencies:
|
||||
'@babel/types': 7.29.7
|
||||
'@babel/types': 7.29.8
|
||||
|
||||
'@babel/template@7.29.7':
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.29.7
|
||||
'@babel/parser': 7.29.7
|
||||
'@babel/types': 7.29.7
|
||||
'@babel/parser': 7.29.8
|
||||
'@babel/types': 7.29.8
|
||||
|
||||
'@babel/traverse@7.29.7':
|
||||
'@babel/traverse@7.29.8':
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.29.7
|
||||
'@babel/generator': 7.29.7
|
||||
'@babel/generator': 7.29.8
|
||||
'@babel/helper-globals': 7.29.7
|
||||
'@babel/parser': 7.29.7
|
||||
'@babel/parser': 7.29.8
|
||||
'@babel/template': 7.29.7
|
||||
'@babel/types': 7.29.7
|
||||
'@babel/types': 7.29.8
|
||||
debug: 4.4.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/types@7.29.7':
|
||||
'@babel/types@7.29.8':
|
||||
dependencies:
|
||||
'@babel/helper-string-parser': 7.29.7
|
||||
'@babel/helper-validator-identifier': 7.29.7
|
||||
@@ -249,10 +249,10 @@ snapshots:
|
||||
|
||||
'@trivago/prettier-plugin-sort-imports@6.0.2(prettier@3.9.6)':
|
||||
dependencies:
|
||||
'@babel/generator': 7.29.7
|
||||
'@babel/parser': 7.29.7
|
||||
'@babel/traverse': 7.29.7
|
||||
'@babel/types': 7.29.7
|
||||
'@babel/generator': 7.29.8
|
||||
'@babel/parser': 7.29.8
|
||||
'@babel/traverse': 7.29.8
|
||||
'@babel/types': 7.29.8
|
||||
javascript-natural-sort: 0.7.1
|
||||
lodash-es: 4.18.1
|
||||
minimatch: 9.0.9
|
||||
|
||||
@@ -143,7 +143,7 @@ let system_status = {
|
||||
let DEV_VERSION_IS_UPGRADEABLE: boolean;
|
||||
let STABLE_VERSION_IS_UPGRADEABLE: boolean;
|
||||
let THIS_VERSION: string;
|
||||
let LATEST_STABLE_VERSION = '3.8.2';
|
||||
let LATEST_STABLE_VERSION = '3.8.3';
|
||||
let LATEST_DEV_VERSION = '3.9.0-dev.1';
|
||||
|
||||
// scenarios for testing versioning
|
||||
@@ -4187,7 +4187,7 @@ let emsesp_customentities = {
|
||||
writeable: true,
|
||||
hide: false,
|
||||
value:
|
||||
'{"stable":{"version":"3.8.2","date":"2026-05-12"},"dev":{"version":"3.8.3-dev.5","date":"2026-05-28T09:55:29Z"}}'
|
||||
'{"stable":{"version":"3.8.3","date":"2026-08-01"},"dev":{"version":"3.9.0-dev.0","date":"2026-08-01T09:55:29Z"}}'
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
@@ -12,8 +12,8 @@ corepack use pnpm@latest
|
||||
pnpm update
|
||||
pnpm install
|
||||
pnpm format
|
||||
pnpm lint
|
||||
pnpm build-webUI
|
||||
pnpm lint
|
||||
|
||||
cd ../mock-api
|
||||
rm -rf node_modules
|
||||
@@ -28,7 +28,6 @@ npx cspell "**"
|
||||
# exit 0
|
||||
|
||||
# build files that go into docs folder
|
||||
|
||||
platformio run -e build_modbus -t clean
|
||||
platformio run -e build_modbus
|
||||
platformio run -e build_standalone -t clean
|
||||
|
||||
@@ -1 +1 @@
|
||||
#define EMSESP_APP_VERSION "3.9.0-dev.19"
|
||||
#define EMSESP_APP_VERSION "3.9.0-dev.0"
|
||||
|
||||
@@ -367,13 +367,13 @@ void WebStatusService::getVersions(JsonObject root) {
|
||||
#else
|
||||
// standalone/test build: provide deterministic dummy data
|
||||
JsonObject stable_out = root["stable"].to<JsonObject>();
|
||||
stable_out["version"] = "3.8.2";
|
||||
stable_out["date"] = "2026-04-25";
|
||||
stable_out["upgradeable"] = FirmwareVersion("3.8.2") > current_version;
|
||||
stable_out["version"] = "3.8.3";
|
||||
stable_out["date"] = "2026-08-01";
|
||||
stable_out["upgradeable"] = FirmwareVersion("3.8.3") > current_version;
|
||||
|
||||
JsonObject dev_out = root["dev"].to<JsonObject>();
|
||||
dev_out["version"] = "3.9.0-dev.1";
|
||||
dev_out["date"] = "2026-04-25";
|
||||
dev_out["date"] = "2026-08-02";
|
||||
dev_out["upgradeable"] = FirmwareVersion("3.9.0-dev.1") > current_version;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
{
|
||||
"Boiler Nefit Trendline HRC30 (DeviceID:0x08, ProductID:123, Version:06.01)": {
|
||||
"force heating off": "off",
|
||||
"heating active": "off",
|
||||
"tapwater active": "off",
|
||||
"selected flow temperature": 5,
|
||||
"heating pump modulation": 0,
|
||||
"current flow temperature": 41.4,
|
||||
"return temperature": 37.7,
|
||||
"system pressure": 1.3,
|
||||
"actual boiler temperature": 44.2,
|
||||
"gas": "off",
|
||||
"gas stage 2": "off",
|
||||
"flame current": 0,
|
||||
"fan": "off",
|
||||
"ignition": "off",
|
||||
"oil preheating": "off",
|
||||
"burner min power": 0,
|
||||
"burner max power": 50,
|
||||
"burner min period": 10,
|
||||
"hysteresis on temperature": -6,
|
||||
"hysteresis off temperature": 6,
|
||||
"heating activated": "on",
|
||||
"heating temperature": 70,
|
||||
"heating pump": "off",
|
||||
"boiler pump max power": 70,
|
||||
"boiler pump min power": 50,
|
||||
"boiler pump mode": "proportional",
|
||||
"pump delay": 2,
|
||||
"burner selected max power": 0,
|
||||
"burner current power": 0,
|
||||
"burner starts": 394602,
|
||||
"total burner operating time": "480 days 4 hours 23 minutes",
|
||||
"burner stage 2 operating time": "0 days 0 hours 0 minutes",
|
||||
"total heat operating time": "395 days 2 hours 14 minutes",
|
||||
"burner starts heating": 46245,
|
||||
"total UBA operating time": "3932 days 23 hours 58 minutes",
|
||||
"last error code": "2E(207) 100.75.2000 65:00 (0 min)",
|
||||
"service code": "0H",
|
||||
"service code number": 203,
|
||||
"maintenance message": "H00",
|
||||
"maintenance scheduled": "manual",
|
||||
"time to next maintenance": 6000,
|
||||
"next maintenance date": "01.01.2012",
|
||||
"dhw turn on/off": "on",
|
||||
"dhw set temperature": 62,
|
||||
"dhw selected temperature": 60,
|
||||
"dhw type": "flow",
|
||||
"dhw comfort": "hot",
|
||||
"dhw flow temperature offset": 40,
|
||||
"dhw max power": 100,
|
||||
"dhw circulation pump available": "off",
|
||||
"dhw charging type": "3-way valve",
|
||||
"dhw hysteresis on temperature": -5,
|
||||
"dhw hysteresis off temperature": 0,
|
||||
"dhw disinfection temperature": 70,
|
||||
"dhw circulation pump mode": "off",
|
||||
"dhw circulation active": "off",
|
||||
"dhw current intern temperature": 33.5,
|
||||
"dhw current tap water flow": 0,
|
||||
"dhw storage intern temperature": 33.5,
|
||||
"dhw activated": "on",
|
||||
"dhw one time charging": "off",
|
||||
"dhw disinfecting": "off",
|
||||
"dhw charging": "off",
|
||||
"dhw recharging": "off",
|
||||
"dhw temperature ok": "on",
|
||||
"dhw active": "off",
|
||||
"dhw 3-way valve active": "on",
|
||||
"dhw set pump power": 0,
|
||||
"dhw starts": 348357,
|
||||
"dhw active time": "85 days 2 hours 9 minutes",
|
||||
"nominal Power": 30,
|
||||
"total energy": 3088.69,
|
||||
"energy heating": 2532.94,
|
||||
"dhw energy": 555.75
|
||||
},
|
||||
"Thermostat RC20 (DeviceID:0x17, ProductID:77, Version:03.03)": {
|
||||
"date/time": "10.12.2023 13:49",
|
||||
"hc1 how hot lounge should be": 19,
|
||||
"hc1 current room temp": 19.5,
|
||||
"hc1 mqtt discovery current room temperature": "roomTemp",
|
||||
"hc1 mode": "auto",
|
||||
"hc1 manual temperature": 21.5,
|
||||
"hc1 temperature when mode is off": 7,
|
||||
"hc1 day temperature T2": 20,
|
||||
"hc1 day temperature T3": 20,
|
||||
"hc1 day temperature T4": 20,
|
||||
"hc1 night temperature T1": 15,
|
||||
"hc1 program switchtime": "00 mo 00:00 T1"
|
||||
},
|
||||
"Controller Module BC10 (DeviceID:0x09, ProductID:190, Version:01.03)": {},
|
||||
"Custom Entities": {
|
||||
"boiler_flowtemp": 5,
|
||||
"nominalpower": 30,
|
||||
"minmodulation": 23,
|
||||
"maxmodulation": 115
|
||||
},
|
||||
"Analog Sensors": {},
|
||||
"Temperature Sensors": {
|
||||
"zolder": 18.3
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"type": "customizations",
|
||||
"Customizations": {
|
||||
"ts": [],
|
||||
"as": [],
|
||||
"masked_entities": [
|
||||
{
|
||||
"product_id": 77,
|
||||
"device_id": 23,
|
||||
"custom_name": "",
|
||||
"custom_brand": "",
|
||||
"entity_ids": [
|
||||
"08datetime",
|
||||
"08hc1/seltemp|<30",
|
||||
"08hc1/currtemp",
|
||||
"08hc1/mode"
|
||||
]
|
||||
},
|
||||
{
|
||||
"product_id": 123,
|
||||
"device_id": 8,
|
||||
"custom_name": "",
|
||||
"custom_brand": "",
|
||||
"entity_ids": [
|
||||
"08heatingactive",
|
||||
"08burngas",
|
||||
"08fanwork",
|
||||
"08ignwork",
|
||||
"08burnmaxpower|>23<121",
|
||||
"08burnminperiod|<120",
|
||||
"08lastcode",
|
||||
"08servicecode"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"type": "entities",
|
||||
"Entities": {
|
||||
"entities": []
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"type": "schedule",
|
||||
"Schedule": {
|
||||
"schedule": []
|
||||
}
|
||||
}
|
||||
@@ -1,145 +0,0 @@
|
||||
{
|
||||
"type": "settings",
|
||||
"System": {
|
||||
"version": "3.8.2"
|
||||
},
|
||||
"Network": {
|
||||
"ssid": "",
|
||||
"bssid": "",
|
||||
"password": "",
|
||||
"hostname": "ems-esp",
|
||||
"static_ip_config": false,
|
||||
"bandwidth20": false,
|
||||
"nosleep": true,
|
||||
"enableMDNS": true,
|
||||
"enableCORS": false,
|
||||
"CORSOrigin": "*",
|
||||
"tx_power": 0
|
||||
},
|
||||
"AP": {
|
||||
"provision_mode": 2,
|
||||
"ssid": "ems-esp",
|
||||
"password": "ems-esp-neo",
|
||||
"channel": 1,
|
||||
"ssid_hidden": false,
|
||||
"max_clients": 4,
|
||||
"local_ip": "192.168.4.1",
|
||||
"gateway_ip": "192.168.4.1",
|
||||
"subnet_mask": "255.255.255.0"
|
||||
},
|
||||
"MQTT": {
|
||||
"enableTLS": false,
|
||||
"rootCA": "",
|
||||
"enabled": true,
|
||||
"host": "192.168.X.X",
|
||||
"port": 1883,
|
||||
"base": "ems-esp",
|
||||
"username": "xxxx",
|
||||
"password": "xxxx",
|
||||
"client_id": "esp32-395c7bcc",
|
||||
"keep_alive": 60,
|
||||
"clean_session": false,
|
||||
"entity_format": 1,
|
||||
"publish_time_boiler": 60,
|
||||
"publish_time_thermostat": 60,
|
||||
"publish_time_solar": 60,
|
||||
"publish_time_mixer": 60,
|
||||
"publish_time_water": 60,
|
||||
"publish_time_other": 60,
|
||||
"publish_time_sensor": 60,
|
||||
"publish_time_heartbeat": 10,
|
||||
"mqtt_qos": 0,
|
||||
"mqtt_retain": false,
|
||||
"ha_enabled": true,
|
||||
"nested_format": 1,
|
||||
"discovery_prefix": "homeassistant",
|
||||
"discovery_type": 0,
|
||||
"ha_number_mode": 1,
|
||||
"publish_single": false,
|
||||
"publish_single2cmd": false,
|
||||
"send_response": false
|
||||
},
|
||||
"NTP": {
|
||||
"enabled": true,
|
||||
"server": "time.google.com",
|
||||
"tz_label": "Europe/Amsterdam",
|
||||
"tz_format": "CET-1CEST,M3.5.0,M10.5.0/3"
|
||||
},
|
||||
"Security": {
|
||||
"jwt_secret": "ems-esp-neo",
|
||||
"users": [
|
||||
{
|
||||
"username": "admin",
|
||||
"password": "admin",
|
||||
"admin": true
|
||||
},
|
||||
{
|
||||
"username": "guest",
|
||||
"password": "guest",
|
||||
"admin": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"Settings": {
|
||||
"version": "3.8.2",
|
||||
"board_profile": "E32V2",
|
||||
"platform": "ESP32",
|
||||
"locale": "en",
|
||||
"tx_mode": 1,
|
||||
"ems_bus_id": 11,
|
||||
"syslog_enabled": false,
|
||||
"syslog_level": 3,
|
||||
"trace_raw": false,
|
||||
"syslog_mark_interval": 0,
|
||||
"syslog_host": "",
|
||||
"syslog_port": 514,
|
||||
"boiler_heatingoff": false,
|
||||
"remote_timeout": 24,
|
||||
"remote_timeout_en": false,
|
||||
"shower_timer": true,
|
||||
"shower_alert": false,
|
||||
"shower_alert_coldshot": 10,
|
||||
"shower_alert_trigger": 7,
|
||||
"shower_min_duration": 180,
|
||||
"rx_gpio": 4,
|
||||
"tx_gpio": 5,
|
||||
"dallas_gpio": 14,
|
||||
"dallas_parasite": false,
|
||||
"led_gpio": 2,
|
||||
"hide_led": true,
|
||||
"led_type": 0,
|
||||
"low_clock": false,
|
||||
"telnet_enabled": true,
|
||||
"notoken_api": false,
|
||||
"readonly_mode": false,
|
||||
"analog_enabled": true,
|
||||
"pbutton_gpio": 34,
|
||||
"solar_maxflow": 30,
|
||||
"fahrenheit": false,
|
||||
"bool_format": 1,
|
||||
"bool_dashboard": 1,
|
||||
"enum_format": 1,
|
||||
"weblog_level": 6,
|
||||
"weblog_buffer": 500,
|
||||
"weblog_compact": true,
|
||||
"phy_type": 1,
|
||||
"eth_power": 15,
|
||||
"eth_phy_addr": 0,
|
||||
"eth_clock_mode": 1,
|
||||
"modbus_enabled": false,
|
||||
"modbus_port": 502,
|
||||
"modbus_max_clients": 10,
|
||||
"modbus_timeout": 300,
|
||||
"developer_mode": true,
|
||||
"disable_reset": false,
|
||||
"email_enabled": false,
|
||||
"email_security": 2,
|
||||
"email_server": "smtp.example.net",
|
||||
"email_port": 587,
|
||||
"email_login": "",
|
||||
"email_pass": "",
|
||||
"email_sender": "ems-esp@example.net",
|
||||
"email_recp": "",
|
||||
"email_subject": "ems-esp notification"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"type": "systembackup",
|
||||
"version": "3.8.2",
|
||||
"date": "2026-04-15T08:06:45",
|
||||
"version": "3.9.0",
|
||||
"date": "2026-08-02T08:06:45",
|
||||
"systembackup": [
|
||||
{
|
||||
"type": "settings",
|
||||
@@ -83,7 +83,7 @@
|
||||
]
|
||||
},
|
||||
"Settings": {
|
||||
"version": "3.8.2",
|
||||
"version": "3.9.0",
|
||||
"board_profile": "E32V2",
|
||||
"platform": "ESP32",
|
||||
"locale": "en",
|
||||
|
||||
Reference in New Issue
Block a user