another patch on 3.6.3

This commit is contained in:
Proddy
2023-11-21 14:40:32 +01:00
5 changed files with 1449 additions and 1090 deletions

View File

@@ -33,6 +33,7 @@ Writeable Text entities have moved from type `sensor` to `text` in Home Assistan
- shower_data MQTT payload contains the timestamp [#1329](https://github.com/emsesp/EMS-ESP32/issues/1329)
- fixed helper text in Web Device Entity dialog box for numerical ranges
- MQTT base with paths not working in HA [#1393](https://github.com/emsesp/EMS-ESP32/issues/1393)
- set/read thermostat mode for RC100-RC300, [#1440](https://github.com/emsesp/EMS-ESP32/issues/1440) [#1442](https://github.com/emsesp/EMS-ESP32/issues/1442)
## Changed

File diff suppressed because it is too large Load Diff

View File

@@ -27,13 +27,13 @@
"@mui/icons-material": "^5.14.18",
"@mui/material": "^5.14.18",
"@table-library/react-table-library": "4.1.7",
"@types/imagemin": "^8.0.4",
"@types/imagemin": "^8.0.5",
"@types/lodash-es": "^4.17.11",
"@types/node": "^20.9.2",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
"@types/node": "^20.9.3",
"@types/react": "^18.2.38",
"@types/react-dom": "^18.2.16",
"@types/react-router-dom": "^5.3.3",
"alova": "^2.13.1",
"alova": "^2.13.2",
"async-validator": "^4.2.5",
"history": "^5.3.0",
"jwt-decode": "^4.0.0",
@@ -47,13 +47,13 @@
"react-toastify": "^9.1.3",
"sockette": "^2.0.6",
"typesafe-i18n": "^5.26.2",
"typescript": "^5.2.2"
"typescript": "^5.3.2"
},
"devDependencies": {
"@preact/compat": "^17.1.2",
"@preact/preset-vite": "^2.7.0",
"@typescript-eslint/eslint-plugin": "^6.11.0",
"@typescript-eslint/parser": "^6.11.0",
"@typescript-eslint/eslint-plugin": "^6.12.0",
"@typescript-eslint/parser": "^6.12.0",
"concurrently": "^8.2.2",
"eslint": "^8.54.0",
"eslint-config-airbnb": "^19.0.4",

View File

@@ -1332,6 +1332,15 @@ __metadata:
languageName: node
linkType: hard
"@types/imagemin@npm:^8.0.5":
version: 8.0.5
resolution: "@types/imagemin@npm:8.0.5"
dependencies:
"@types/node": "npm:*"
checksum: 7d492a0953b932546ff952370f21f62067a2311809f6e6c23288745e6e7ec70e2dad443a455e4ab1b63e6e8d9780cbe4dfc3f3519a6e78d6812b55dc642706ac
languageName: node
linkType: hard
"@types/json-schema@npm:^7.0.12":
version: 7.0.15
resolution: "@types/json-schema@npm:7.0.15"
@@ -1378,12 +1387,21 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:*, @types/node@npm:^20.9.2":
version: 20.9.2
resolution: "@types/node@npm:20.9.2"
"@types/node@npm:*":
version: 20.8.9
resolution: "@types/node@npm:20.8.9"
dependencies:
undici-types: "npm:~5.26.4"
checksum: 8bab2870bfc02efc988c53dfb0149634f8feb824132cc7f20b36f3d55d89ef893e3a43d545524a5cb3a284f4ce68ae4181d75a4a39cee6b79c586d719e6b7461
checksum: 71e0023342272e63c47f3fab6082bd6c89d0b0c4262a1c2d0d52458560077f5c28ef5cfe704306eac43fc2e5111bef4e1cdbf08f565650520fad5e54005a8836
languageName: node
linkType: hard
"@types/node@npm:^20.9.3":
version: 20.9.3
resolution: "@types/node@npm:20.9.3"
dependencies:
undici-types: "npm:~5.26.4"
checksum: 5d2a3a6b2b900814eab8c5093dabb7aa10895928719ec0074b9ac5584bcc83f5b680e2d2cb6c8b9751511b7b1b7fdd8586d2fc827b156f0263fdb65c4741bdef
languageName: node
linkType: hard
@@ -1401,12 +1419,12 @@ __metadata:
languageName: node
linkType: hard
"@types/react-dom@npm:^18.2.15":
version: 18.2.15
resolution: "@types/react-dom@npm:18.2.15"
"@types/react-dom@npm:^18.2.16":
version: 18.2.16
resolution: "@types/react-dom@npm:18.2.16"
dependencies:
"@types/react": "npm:*"
checksum: 57ea7e9e210d95fa18fde82fc585cb6252c9118c8793a38b37b07ccbba05d09d14f88cf76af46eecda41c430b4400f789a4bbc505eec459a15cbaf13f56f887a
checksum: c0be61864a9f50bb8cd29c719d170b03b36149f4fbe308faa40194d15492c4a13814a2f344fc5ceb99b4747bfa11cdfb2d15a141ed37218a32ec0edf98b90f2b
languageName: node
linkType: hard
@@ -1440,14 +1458,25 @@ __metadata:
languageName: node
linkType: hard
"@types/react@npm:*, @types/react@npm:^18.2.37":
version: 18.2.37
resolution: "@types/react@npm:18.2.37"
"@types/react@npm:*":
version: 18.2.33
resolution: "@types/react@npm:18.2.33"
dependencies:
"@types/prop-types": "npm:*"
"@types/scheduler": "npm:*"
csstype: "npm:^3.0.2"
checksum: fab3a5960e710aad6c16ffe57f48a470c6bbbe9e6363f70accf114191ea3192a204e33b5657324f14e64b2095986327db6b728fc15156e05f7d30b6dca0d66a3
checksum: 7f84dcf70eed3644973c7a47a63669d9e9ecc8d15b331fb272940a5c7cc322df11995eeeae1edfab5c278083cc3527477aa682c79f26667cfe8cd74481621884
languageName: node
linkType: hard
"@types/react@npm:^18.2.38":
version: 18.2.38
resolution: "@types/react@npm:18.2.38"
dependencies:
"@types/prop-types": "npm:*"
"@types/scheduler": "npm:*"
csstype: "npm:^3.0.2"
checksum: 9f9b9925c979e848d572dce6fff34951708127ba6b1fd4306c93fbcab74f5c6cff2b2e47d4222339eeb6c19d264e93450cb2ad6b255c73c536d0a1e2093cc98a
languageName: node
linkType: hard
@@ -1483,15 +1512,15 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.11.0"
"@typescript-eslint/eslint-plugin@npm:^6.12.0":
version: 6.12.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.12.0"
dependencies:
"@eslint-community/regexpp": "npm:^4.5.1"
"@typescript-eslint/scope-manager": "npm:6.11.0"
"@typescript-eslint/type-utils": "npm:6.11.0"
"@typescript-eslint/utils": "npm:6.11.0"
"@typescript-eslint/visitor-keys": "npm:6.11.0"
"@typescript-eslint/scope-manager": "npm:6.12.0"
"@typescript-eslint/type-utils": "npm:6.12.0"
"@typescript-eslint/utils": "npm:6.12.0"
"@typescript-eslint/visitor-keys": "npm:6.12.0"
debug: "npm:^4.3.4"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.2.4"
@@ -1504,44 +1533,44 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: c9c9e7a918e2f3ef8cb200c9158b70553a1014529867411b35e141c1d26713dd281907af1a231e640e8c4c73c3245a20cfc0e56a1cc95874889ce88c04706c78
checksum: 1b9d2bb88f3e793067d7ec1e24e11b9d22891314bd5ebdef80a11a0ddde19f5c052b341e2f2c8a466b3af48e492f1028023566feaeb10a826d3928380c3d3d88
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/parser@npm:6.11.0"
"@typescript-eslint/parser@npm:^6.12.0":
version: 6.12.0
resolution: "@typescript-eslint/parser@npm:6.12.0"
dependencies:
"@typescript-eslint/scope-manager": "npm:6.11.0"
"@typescript-eslint/types": "npm:6.11.0"
"@typescript-eslint/typescript-estree": "npm:6.11.0"
"@typescript-eslint/visitor-keys": "npm:6.11.0"
"@typescript-eslint/scope-manager": "npm:6.12.0"
"@typescript-eslint/types": "npm:6.12.0"
"@typescript-eslint/typescript-estree": "npm:6.12.0"
"@typescript-eslint/visitor-keys": "npm:6.12.0"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: abb2aff0d4f06937337d1b2da77df4e1501d708b0bce1707c523206ee10e6aa732e1ae6548da56b9889459f23c375a6f0ae2e3a208e972dab8eb3b46680d839a
checksum: 2e33b581bcf882336bd4734e90a90dc3618960f8c07f5f7d16e4f3a0f00af97d3b3c8adc366170e1d9c8afd922068b3cfc5e9e997fd4ca6ebcb7c46a9e5b30a1
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/scope-manager@npm:6.11.0"
"@typescript-eslint/scope-manager@npm:6.12.0":
version: 6.12.0
resolution: "@typescript-eslint/scope-manager@npm:6.12.0"
dependencies:
"@typescript-eslint/types": "npm:6.11.0"
"@typescript-eslint/visitor-keys": "npm:6.11.0"
checksum: 60702ab23710c59ab0b52ffc66f77e24382cec8f684e3e43d4269cc17f414d3cb3a3bb85e232ea9f1e0f7e85506529978a5eea3c08945c01ed7aed4d4997b472
"@typescript-eslint/types": "npm:6.12.0"
"@typescript-eslint/visitor-keys": "npm:6.12.0"
checksum: 46c4a5575fbbb70a800934c93e89795cceef268a140b786a8d22615a0577a5356e42e316dfb23dbb43cec7271b480e712e3127ba33642040bd292fbb6a5de278
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/type-utils@npm:6.11.0"
"@typescript-eslint/type-utils@npm:6.12.0":
version: 6.12.0
resolution: "@typescript-eslint/type-utils@npm:6.12.0"
dependencies:
"@typescript-eslint/typescript-estree": "npm:6.11.0"
"@typescript-eslint/utils": "npm:6.11.0"
"@typescript-eslint/typescript-estree": "npm:6.12.0"
"@typescript-eslint/utils": "npm:6.12.0"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.0.1"
peerDependencies:
@@ -1549,23 +1578,23 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 478819bbbab39a0d11dc6276fc9b90e0b2576d7e32d761c811369657dc12bfaf95084bf951714ea82015259d736dec70770d229d6547b066ea0fc4133039082f
checksum: e92709a0ea5d5aee86def3da40fe4190235d3560f41e77a73d4bc10f6f59e0df367d5a1263d4e05aa44af4deb158ca6f37b09e483248e341a38fd5e2e8b70f72
languageName: node
linkType: hard
"@typescript-eslint/types@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/types@npm:6.11.0"
checksum: 3ea55101325950d9594f839b38aa1c0958c3b8401ca9a8d2e4247997bb30dff7ac5e760e888de48a3ea9af3cb656eafb3e2cddc837a523a300ebccb63e150185
"@typescript-eslint/types@npm:6.12.0":
version: 6.12.0
resolution: "@typescript-eslint/types@npm:6.12.0"
checksum: e52f12d01e2f543927fde985d709616dec1ef310da3a00e3d239874752ba7635e04d325e2a7cf6403d19977282f15fed7629d2477aeeb57df9140fa424f530fe
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/typescript-estree@npm:6.11.0"
"@typescript-eslint/typescript-estree@npm:6.12.0":
version: 6.12.0
resolution: "@typescript-eslint/typescript-estree@npm:6.12.0"
dependencies:
"@typescript-eslint/types": "npm:6.11.0"
"@typescript-eslint/visitor-keys": "npm:6.11.0"
"@typescript-eslint/types": "npm:6.12.0"
"@typescript-eslint/visitor-keys": "npm:6.12.0"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
@@ -1574,34 +1603,34 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 9d2333e517d50035f2c962b3966ebf8b35db0ac139c537cf4f1c4fd7b8d8914671671ad3bccdd59ef88fc4d29f441c0412a6c119ac6463bd2fbe8059d5209219
checksum: 16f327faf736becb145894380e059a68a993b14fdf6dab50c5b79ff3c027a1e1a61274742f44f6ecd9ebbfadfc55559f94fad52e1596e1ed2656a3053367de85
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/utils@npm:6.11.0"
"@typescript-eslint/utils@npm:6.12.0":
version: 6.12.0
resolution: "@typescript-eslint/utils@npm:6.12.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@types/json-schema": "npm:^7.0.12"
"@types/semver": "npm:^7.5.0"
"@typescript-eslint/scope-manager": "npm:6.11.0"
"@typescript-eslint/types": "npm:6.11.0"
"@typescript-eslint/typescript-estree": "npm:6.11.0"
"@typescript-eslint/scope-manager": "npm:6.12.0"
"@typescript-eslint/types": "npm:6.12.0"
"@typescript-eslint/typescript-estree": "npm:6.12.0"
semver: "npm:^7.5.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
checksum: 7b8c17bd191b06cc77fe341f32fb7b4126d47a6ec05e5112567d4424a1896cf851935ff867c825d7e3361c317a48fe5304f95e454089f9aecc182bd42b1e4176
checksum: 84091ddc0f0cceb5d0a2e366139d65413867cf648f805355ab4a42ee273cdd691b9083084d1c1feb9cb3c1934c1ed338fbf92146c738a96b84de3d2ec2dfdec5
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/visitor-keys@npm:6.11.0"
"@typescript-eslint/visitor-keys@npm:6.12.0":
version: 6.12.0
resolution: "@typescript-eslint/visitor-keys@npm:6.12.0"
dependencies:
"@typescript-eslint/types": "npm:6.11.0"
"@typescript-eslint/types": "npm:6.12.0"
eslint-visitor-keys: "npm:^3.4.1"
checksum: d89ef8579737f23a1a81506724e2c5cfec92fa4431232f93c4b6970a21382c6c0ad09ba21ffe8d25725d43aecce351fee2797c9170012ef0c00e5be7592e8233
checksum: edf3537c8176059e8fdea680c10f85a635e427fb5caa6f88473077f50edbec7b011b0dc1e4499543519085559268d30a166b1cb160d30a1315ef818fc181a6a4
languageName: node
linkType: hard
@@ -1625,15 +1654,15 @@ __metadata:
"@preact/compat": "npm:^17.1.2"
"@preact/preset-vite": "npm:^2.7.0"
"@table-library/react-table-library": "npm:4.1.7"
"@types/imagemin": "npm:^8.0.4"
"@types/imagemin": "npm:^8.0.5"
"@types/lodash-es": "npm:^4.17.11"
"@types/node": "npm:^20.9.2"
"@types/react": "npm:^18.2.37"
"@types/react-dom": "npm:^18.2.15"
"@types/node": "npm:^20.9.3"
"@types/react": "npm:^18.2.38"
"@types/react-dom": "npm:^18.2.16"
"@types/react-router-dom": "npm:^5.3.3"
"@typescript-eslint/eslint-plugin": "npm:^6.11.0"
"@typescript-eslint/parser": "npm:^6.11.0"
alova: "npm:^2.13.1"
"@typescript-eslint/eslint-plugin": "npm:^6.12.0"
"@typescript-eslint/parser": "npm:^6.12.0"
alova: "npm:^2.13.2"
async-validator: "npm:^4.2.5"
concurrently: "npm:^8.2.2"
eslint: "npm:^8.54.0"
@@ -1663,7 +1692,7 @@ __metadata:
sockette: "npm:^2.0.6"
terser: "npm:^5.24.0"
typesafe-i18n: "npm:^5.26.2"
typescript: "npm:^5.2.2"
typescript: "npm:^5.3.2"
vite: "npm:^5.0.0"
vite-plugin-imagemin: "npm:^0.6.1"
vite-tsconfig-paths: "npm:^4.2.1"
@@ -1726,10 +1755,10 @@ __metadata:
languageName: node
linkType: hard
"alova@npm:^2.13.1":
version: 2.13.1
resolution: "alova@npm:2.13.1"
checksum: f0ef3ac891aa26d4cc125b8e601f8efac2517109ecfb75598e6ecb0872fb8e0c62d1dfc633b7920e6f57deaec377489e828960968c4534b6ab7f69ff7e29af6e
"alova@npm:^2.13.2":
version: 2.13.2
resolution: "alova@npm:2.13.2"
checksum: 09d3949b20094833ae9a2861b7408b6697e2e7fa677d6bbb31a7c43a756bef1033a999a9aa94aff94f392eb5186f9ae2e63a381560fd42c59987948740f6a043
languageName: node
linkType: hard
@@ -8125,23 +8154,23 @@ __metadata:
languageName: node
linkType: hard
"typescript@npm:^5.2.2":
version: 5.2.2
resolution: "typescript@npm:5.2.2"
"typescript@npm:^5.3.2":
version: 5.3.2
resolution: "typescript@npm:5.3.2"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: d65e50eb849bd21ff8677e5b9447f9c6e74777e346afd67754934264dcbf4bd59e7d2473f6062d9a015d66bd573311166357e3eb07fea0b52859cf9bb2b58555
checksum: 415e5fb6611f5713e460bad48039f00bcfdbde53a2f911727862d5aa9c5d5edd250059a419df382d8f031709e15a169c41eb62b6a401da5eec7ac0f4e359d6ac
languageName: node
linkType: hard
"typescript@patch:typescript@npm%3A^5.2.2#optional!builtin<compat/typescript>":
version: 5.2.2
resolution: "typescript@patch:typescript@npm%3A5.2.2#optional!builtin<compat/typescript>::version=5.2.2&hash=f3b441"
"typescript@patch:typescript@npm%3A^5.3.2#optional!builtin<compat/typescript>":
version: 5.3.2
resolution: "typescript@patch:typescript@npm%3A5.3.2#optional!builtin<compat/typescript>::version=5.3.2&hash=e012d7"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: f79cc2ba802c94c2b78dbb00d767a10adb67368ae764709737dc277273ec148aa4558033a03ce901406b35fddf4eac46dabc94a1e1d12d2587e2b9cfe5707b4a
checksum: 1b45cdfb577a78ae7a9a9d0b77a7b772142cb98ba05e4e5aefba7044a028ded885bcecef63166407a5986645cea816fe4986894336aacd5e791796ea79a6a7ed
languageName: node
linkType: hard

View File

@@ -1023,13 +1023,12 @@ void Thermostat::process_RC300Set(std::shared_ptr<const Telegram> telegram) {
// has_update(telegram, hc->selTemp, 10, 1); // single byte conversion, value is * 2 - manual
telegram->read_value(hc->mode_new, 21); // 0-off, 1-manual, 2-auto
if (hc->mode_new <= 2) {
if (Helpers::hasValue(hc->mode_new)) {
has_update(hc->mode, hc->mode_new);
} else {
uint8_t mode = hc->mode == 2 ? 0xFF : 0; // auto : manual
if (telegram->read_value(mode, 0)) {
has_update(hc->mode, mode == 0xFF ? 2 : 1);
}
telegram->read_value(mode, 0);
has_update(hc->mode, mode == 0xFF ? 2 : 1);
}
has_update(telegram, hc->daytemp, 2); // is * 2
has_update(telegram, hc->nighttemp, 4); // is * 2
@@ -2598,7 +2597,7 @@ bool Thermostat::set_mode_n(const uint8_t mode, const uint8_t hc_num) {
if (model_ == EMSdevice::EMS_DEVICE_FLAG_RC10) {
hc->mode = set_mode_value >> 1;
} else if (model_ == EMSdevice::EMS_DEVICE_FLAG_RC300 || model_ == EMSdevice::EMS_DEVICE_FLAG_RC100) {
hc->mode = set_mode_value ? 1 : 0;
hc->mode = Helpers::hasValue(hc->mode_new) ? set_mode_value : set_mode_value == 0xFF ? 2 : 1;
} else if (model_ == EMSdevice::EMS_DEVICE_FLAG_JUNKERS) {
hc->mode = set_mode_value - 1;
} else {