From 4471da4aa97a3fe2c09c7e97907f84af8a932af6 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 8 Jan 2025 21:45:59 +0100 Subject: [PATCH 01/25] update packages --- interface/package.json | 2 +- interface/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/interface/package.json b/interface/package.json index 4e94ea688..5311cba7c 100644 --- a/interface/package.json +++ b/interface/package.json @@ -48,7 +48,7 @@ "@trivago/prettier-plugin-sort-imports": "^5.2.1", "@types/formidable": "^3", "@types/node": "^22.10.5", - "@types/react": "^19.0.3", + "@types/react": "^19.0.4", "@types/react-dom": "^19.0.2", "concurrently": "^9.1.2", "eslint": "^9.17.0", diff --git a/interface/yarn.lock b/interface/yarn.lock index 0e3f3e977..6ced701ba 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1443,12 +1443,12 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^19.0.3": - version: 19.0.3 - resolution: "@types/react@npm:19.0.3" +"@types/react@npm:^19.0.4": + version: 19.0.4 + resolution: "@types/react@npm:19.0.4" dependencies: csstype: "npm:^3.0.2" - checksum: 10c0/90129c45f2f09154d9409964964d0ccbac7f04d5f7fcf73fc146d33887931fbfdfd1e2947514298f94f986cc264aff8ba3201e9a4ea207d3308f20a06d47c805 + checksum: 10c0/96ecd1a73af57fd7b7facf5b36ec069b131c7608a98a0f1098183023bfb21c60a26a0dc09004fbe0ac70c436ef887bbec5690882cfb77c6e0c679f7e45987722 languageName: node linkType: hard @@ -1599,7 +1599,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^5.2.1" "@types/formidable": "npm:^3" "@types/node": "npm:^22.10.5" - "@types/react": "npm:^19.0.3" + "@types/react": "npm:^19.0.4" "@types/react-dom": "npm:^19.0.2" alova: "npm:3.2.7" async-validator: "npm:^4.2.5" From d83399bd1f28a11b6153a6abb4b8b13083437697 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 8 Jan 2025 21:46:05 +0100 Subject: [PATCH 02/25] fix Make for OSX --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a8c45f781..090085a82 100644 --- a/Makefile +++ b/Makefile @@ -102,7 +102,7 @@ CPPFLAGS += -Os CFLAGS += $(CPPFLAGS) CFLAGS += -Wall -Wextra -Werror -Wswitch-enum -CFLAGS += -Wno-unused-parameter -Wno-missing-braces -Wno-sign-compare +CFLAGS += -Wno-unused-parameter -Wno-missing-braces -Wno-sign-compare -Wno-tautological-constant-out-of-range-compare CXXFLAGS += $(CFLAGS) -MMD #---------------------------------------------------------------------- From 6a2a27e47edadd86d6e3a37e5c6d247cbc608452 Mon Sep 17 00:00:00 2001 From: proddy Date: Thu, 9 Jan 2025 16:33:07 +0100 Subject: [PATCH 03/25] mathieucarbou/ESPAsyncWebServer @ 3.6.0 --- platformio.ini | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/platformio.ini b/platformio.ini index 9404a1777..722d46593 100644 --- a/platformio.ini +++ b/platformio.ini @@ -54,8 +54,7 @@ framework = arduino board_build.partitions = partitions/esp32_partition_16M.csv board_upload.flash_size = 16MB platform = espressif32@6.9.0 ; Arduino Core 2.0.18 / IDF 4.4.8 -; platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip ; Arduino Core 3.1.0 / IDF 5.3.2 -; platform = https://github.com/pioarduino/platform-espressif32.git#develop +; platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.11/platform-espressif32.zip ; Arduino Core 3.1.1 / IDF 5.3.2 ; ; Experimental for building using espidf and the Hybrid mode to remove core libraries. ; @@ -124,7 +123,7 @@ board_build.filesystem = littlefs lib_deps = bblanchon/ArduinoJson @ 7.3.0 mathieucarbou/AsyncTCP @ 3.3.2 - mathieucarbou/ESPAsyncWebServer @ 3.5.0 + mathieucarbou/ESPAsyncWebServer @ 3.6.0 https://github.com/emsesp/EMS-ESP-Modules.git @ 1.0.4 ; From 15988098156c7593e1303429dcc5dffc422144e0 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 12:55:23 +0100 Subject: [PATCH 04/25] package update --- interface/package.json | 4 ++-- interface/yarn.lock | 43 +++++++++++++++++++++--------------------- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/interface/package.json b/interface/package.json index 5311cba7c..c22e055da 100644 --- a/interface/package.json +++ b/interface/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@babel/core": "^7.26.0", - "@eslint/js": "^9.17.0", + "@eslint/js": "^9.18.0", "@preact/compat": "^18.3.1", "@preact/preset-vite": "^2.9.4", "@trivago/prettier-plugin-sort-imports": "^5.2.1", @@ -51,7 +51,7 @@ "@types/react": "^19.0.4", "@types/react-dom": "^19.0.2", "concurrently": "^9.1.2", - "eslint": "^9.17.0", + "eslint": "^9.18.0", "eslint-config-prettier": "^9.1.0", "formidable": "^3.5.2", "prettier": "^3.4.2", diff --git a/interface/yarn.lock b/interface/yarn.lock index 6ced701ba..8bb9455e4 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -620,12 +620,12 @@ __metadata: languageName: node linkType: hard -"@eslint/core@npm:^0.9.0": - version: 0.9.1 - resolution: "@eslint/core@npm:0.9.1" +"@eslint/core@npm:^0.10.0": + version: 0.10.0 + resolution: "@eslint/core@npm:0.10.0" dependencies: "@types/json-schema": "npm:^7.0.15" - checksum: 10c0/638104b1b5833a9bbf2329f0c0ddf322e4d6c0410b149477e02cd2b78c04722be90c14b91b8ccdef0d63a2404dff72a17b6b412ce489ea429ae6a8fcb8abff28 + checksum: 10c0/074018075079b3ed1f14fab9d116f11a8824cdfae3e822badf7ad546962fafe717a31e61459bad8cc59cf7070dc413ea9064ddb75c114f05b05921029cde0a64 languageName: node linkType: hard @@ -646,10 +646,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.17.0, @eslint/js@npm:^9.17.0": - version: 9.17.0 - resolution: "@eslint/js@npm:9.17.0" - checksum: 10c0/a0fda8657a01c60aa540f95397754267ba640ffb126e011b97fd65c322a94969d161beeaef57c1441c495da2f31167c34bd38209f7c146c7225072378c3a933d +"@eslint/js@npm:9.18.0, @eslint/js@npm:^9.18.0": + version: 9.18.0 + resolution: "@eslint/js@npm:9.18.0" + checksum: 10c0/3938344c5ac7feef4b73fcb30f3c3e753570cea74c24904bb5d07e9c42fcd34fcbc40f545b081356a299e11f360c9c274b348c05fb0113fc3d492e5175eee140 languageName: node linkType: hard @@ -660,12 +660,13 @@ __metadata: languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.2.3": - version: 0.2.4 - resolution: "@eslint/plugin-kit@npm:0.2.4" +"@eslint/plugin-kit@npm:^0.2.5": + version: 0.2.5 + resolution: "@eslint/plugin-kit@npm:0.2.5" dependencies: + "@eslint/core": "npm:^0.10.0" levn: "npm:^0.4.1" - checksum: 10c0/1bcfc0a30b1df891047c1d8b3707833bded12a057ba01757a2a8591fdc8d8fe0dbb8d51d4b0b61b2af4ca1d363057abd7d2fb4799f1706b105734f4d3fa0dbf1 + checksum: 10c0/ba9832b8409af618cf61791805fe201dd62f3c82c783adfcec0f5cd391e68b40beaecb47b9a3209e926dbcab65135f410cae405b69a559197795793399f61176 languageName: node linkType: hard @@ -1590,7 +1591,7 @@ __metadata: "@babel/core": "npm:^7.26.0" "@emotion/react": "npm:^11.14.0" "@emotion/styled": "npm:^11.14.0" - "@eslint/js": "npm:^9.17.0" + "@eslint/js": "npm:^9.18.0" "@mui/icons-material": "npm:^6.3.1" "@mui/material": "npm:^6.3.1" "@preact/compat": "npm:^18.3.1" @@ -1604,7 +1605,7 @@ __metadata: alova: "npm:3.2.7" async-validator: "npm:^4.2.5" concurrently: "npm:^9.1.2" - eslint: "npm:^9.17.0" + eslint: "npm:^9.18.0" eslint-config-prettier: "npm:^9.1.0" formidable: "npm:^3.5.2" jwt-decode: "npm:^4.0.0" @@ -3049,17 +3050,17 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.17.0": - version: 9.17.0 - resolution: "eslint@npm:9.17.0" +"eslint@npm:^9.18.0": + version: 9.18.0 + resolution: "eslint@npm:9.18.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.12.1" "@eslint/config-array": "npm:^0.19.0" - "@eslint/core": "npm:^0.9.0" + "@eslint/core": "npm:^0.10.0" "@eslint/eslintrc": "npm:^3.2.0" - "@eslint/js": "npm:9.17.0" - "@eslint/plugin-kit": "npm:^0.2.3" + "@eslint/js": "npm:9.18.0" + "@eslint/plugin-kit": "npm:^0.2.5" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.4.1" @@ -3094,7 +3095,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/9edd8dd782b4ae2eb00a158ed4708194835d4494d75545fa63a51f020ed17f865c49b4ae1914a2ecbc7fdb262bd8059e811aeef9f0bae63dced9d3293be1bbdd + checksum: 10c0/7f592ad228b9bd627a24870fdc875bacdab7bf535d4b67316c4cb791e90d0125130a74769f3c407b0c4b7027b3082ef33864a63ee1024552a60a17db60493f15 languageName: node linkType: hard From ed92b37869f3d03388bee687d6bac185c9c9c789 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 18:58:51 +0100 Subject: [PATCH 05/25] updated --- docs/Modbus-Entity-Registers.md | 14 ++++++++++++++ docs/dump_entities.csv | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/docs/Modbus-Entity-Registers.md b/docs/Modbus-Entity-Registers.md index e7f0403a5..3ad7cedee 100644 --- a/docs/Modbus-Entity-Registers.md +++ b/docs/Modbus-Entity-Registers.md @@ -4835,6 +4835,8 @@ | cooloffdelay | cooling off delay | uint8 (>=1<=48) | hours | true | HC | 50 | 1 | 1 | | switchprogmode | switch program mode | enum [level\|absolute] | | true | HC | 51 | 1 | 1 | | redthreshold | reduction threshold | int8 (>=12<=22) | C | true | HC | 52 | 1 | 1/2 | +| solarinfl | solar influence | uint8 (>=-5<=4294967295) | C | true | HC | -1 | 1 | 1 | +| currsolarinfl | curent solar influence | uint8 (>=0<=25) | C | false | HC | -1 | 1 | 1/10 | | mode | operating mode | enum [off\|normal\|comfort\|auto\|own prog] | | true | DHW | 0 | 1 | 1 | | settemp | set temperature | uint8 (>=0<=254) | C | true | DHW | 1 | 1 | 1 | | settemplow | set low temperature | uint8 (>=0<=254) | C | true | DHW | 2 | 1 | 1 | @@ -4934,6 +4936,8 @@ | cooloffdelay | cooling off delay | uint8 (>=1<=48) | hours | true | HC | 50 | 1 | 1 | | switchprogmode | switch program mode | enum [level\|absolute] | | true | HC | 51 | 1 | 1 | | redthreshold | reduction threshold | int8 (>=12<=22) | C | true | HC | 52 | 1 | 1/2 | +| solarinfl | solar influence | uint8 (>=-5<=4294967295) | C | true | HC | -1 | 1 | 1 | +| currsolarinfl | curent solar influence | uint8 (>=0<=25) | C | false | HC | -1 | 1 | 1/10 | | mode | operating mode | enum [off\|comfort\|auto] | | true | DHW | 0 | 1 | 1 | | settemp | set temperature | uint8 (>=0<=254) | C | true | DHW | 1 | 1 | 1 | | settemplow | set low temperature | uint8 (>=0<=254) | C | true | DHW | 2 | 1 | 1 | @@ -5041,6 +5045,8 @@ | cooloffdelay | cooling off delay | uint8 (>=1<=48) | hours | true | HC | 50 | 1 | 1 | | switchprogmode | switch program mode | enum [level\|absolute] | | true | HC | 51 | 1 | 1 | | redthreshold | reduction threshold | int8 (>=12<=22) | C | true | HC | 52 | 1 | 1/2 | +| solarinfl | solar influence | uint8 (>=-5<=4294967295) | C | true | HC | -1 | 1 | 1 | +| currsolarinfl | curent solar influence | uint8 (>=0<=25) | C | false | HC | -1 | 1 | 1/10 | | mode | operating mode | enum [off\|normal\|comfort\|auto\|own prog] | | true | DHW | 0 | 1 | 1 | | settemp | set temperature | uint8 (>=0<=254) | C | true | DHW | 1 | 1 | 1 | | settemplow | set low temperature | uint8 (>=0<=254) | C | true | DHW | 2 | 1 | 1 | @@ -5172,6 +5178,8 @@ | cooloffdelay | cooling off delay | uint8 (>=1<=48) | hours | true | HC | 50 | 1 | 1 | | switchprogmode | switch program mode | enum [level\|absolute] | | true | HC | 51 | 1 | 1 | | redthreshold | reduction threshold | int8 (>=12<=22) | C | true | HC | 52 | 1 | 1/2 | +| solarinfl | solar influence | uint8 (>=-5<=4294967295) | C | true | HC | -1 | 1 | 1 | +| currsolarinfl | curent solar influence | uint8 (>=0<=25) | C | false | HC | -1 | 1 | 1/10 | | mode | operating mode | enum [off\|normal\|comfort\|auto\|own prog] | | true | DHW | 0 | 1 | 1 | | settemp | set temperature | uint8 (>=0<=254) | C | true | DHW | 1 | 1 | 1 | | settemplow | set low temperature | uint8 (>=0<=254) | C | true | DHW | 2 | 1 | 1 | @@ -5419,6 +5427,8 @@ | cooloffdelay | cooling off delay | uint8 (>=1<=48) | hours | true | HC | 50 | 1 | 1 | | switchprogmode | switch program mode | enum [level\|absolute] | | true | HC | 51 | 1 | 1 | | redthreshold | reduction threshold | int8 (>=12<=22) | C | true | HC | 52 | 1 | 1/2 | +| solarinfl | solar influence | uint8 (>=-5<=4294967295) | C | true | HC | -1 | 1 | 1 | +| currsolarinfl | curent solar influence | uint8 (>=0<=25) | C | false | HC | -1 | 1 | 1/10 | | mode | operating mode | enum [normal\|comfort\|eco+] | | true | DHW | 0 | 1 | 1 | | settemp | set temperature | uint8 (>=0<=254) | C | true | DHW | 1 | 1 | 1 | | settemplow | set low temperature | uint8 (>=0<=254) | C | true | DHW | 2 | 1 | 1 | @@ -5510,6 +5520,8 @@ | cooloffdelay | cooling off delay | uint8 (>=1<=48) | hours | true | HC | 50 | 1 | 1 | | switchprogmode | switch program mode | enum [level\|absolute] | | true | HC | 51 | 1 | 1 | | redthreshold | reduction threshold | int8 (>=12<=22) | C | true | HC | 52 | 1 | 1/2 | +| solarinfl | solar influence | uint8 (>=-5<=4294967295) | C | true | HC | -1 | 1 | 1 | +| currsolarinfl | curent solar influence | uint8 (>=0<=25) | C | false | HC | -1 | 1 | 1/10 | | mode | operating mode | enum [off\|eco+\|eco\|comfort\|auto] | | true | DHW | 0 | 1 | 1 | | settemp | set temperature | uint8 (>=0<=254) | C | true | DHW | 1 | 1 | 1 | | settemplow | set low temperature | uint8 (>=0<=254) | C | true | DHW | 2 | 1 | 1 | @@ -5611,6 +5623,8 @@ | cooloffdelay | cooling off delay | uint8 (>=1<=48) | hours | true | HC | 50 | 1 | 1 | | switchprogmode | switch program mode | enum [level\|absolute] | | true | HC | 51 | 1 | 1 | | redthreshold | reduction threshold | int8 (>=12<=22) | C | true | HC | 52 | 1 | 1/2 | +| solarinfl | solar influence | uint8 (>=-5<=4294967295) | C | true | HC | -1 | 1 | 1 | +| currsolarinfl | curent solar influence | uint8 (>=0<=25) | C | false | HC | -1 | 1 | 1/10 | | mode | operating mode | enum [off\|eco+\|eco\|comfort\|auto] | | true | DHW | 0 | 1 | 1 | | settemp | set temperature | uint8 (>=0<=254) | C | true | DHW | 1 | 1 | 1 | | settemplow | set low temperature | uint8 (>=0<=254) | C | true | DHW | 2 | 1 | 1 | diff --git a/docs/dump_entities.csv b/docs/dump_entities.csv index 4a8a45133..dfde50bfd 100644 --- a/docs/dump_entities.csv +++ b/docs/dump_entities.csv @@ -3438,6 +3438,8 @@ device name,device type,product id,shortname,fullname,type [options...] \| (min/ "UI800, BC400",thermostat,4,cooloffdelay,cooling off delay,uint8 (>=1<=48),hours,true,number.thermostat_hc1_cooling_off_delay,number.thermostat_hc1_cooloffdelay,6,1,1,50,1 "UI800, BC400",thermostat,4,switchprogmode,switch program mode,enum [level\|absolute], ,true,select.thermostat_hc1_switch_program_mode,select.thermostat_hc1_switchprogmode,6,1,1,51,1 "UI800, BC400",thermostat,4,redthreshold,reduction threshold,int8 (>=12<=22),C,true,number.thermostat_hc1_reduction_threshold,number.thermostat_hc1_redthreshold,6,1,1/2,52,1 +"UI800, BC400",thermostat,4,solarinfl,solar influence,uint8 (>=-5<=4294967295),C,true,number.thermostat_hc1_solar_influence,number.thermostat_hc1_solarinfl,6,1,1,-1,1 +"UI800, BC400",thermostat,4,currsolarinfl,curent solar influence,uint8 (>=0<=25),C,false,sensor.thermostat_hc1_curent_solar_influence,sensor.thermostat_hc1_currsolarinfl,6,1,1/10,-1,1 "UI800, BC400",thermostat,4,mode,operating mode,enum [off\|eco+\|eco\|comfort\|auto], ,true,select.thermostat_dhw_operating_mode,select.thermostat_dhw_mode,6,9,1,0,1 "UI800, BC400",thermostat,4,settemp,set temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_temperature,number.thermostat_dhw_settemp,6,9,1,1,1 "UI800, BC400",thermostat,4,settemplow,set low temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_low_temperature,number.thermostat_dhw_settemplow,6,9,1,2,1 @@ -3816,6 +3818,8 @@ device name,device type,product id,shortname,fullname,type [options...] \| (min/ "RC200, CW100, CR120, CR50",thermostat,157,cooloffdelay,cooling off delay,uint8 (>=1<=48),hours,true,number.thermostat_hc1_cooling_off_delay,number.thermostat_hc1_cooloffdelay,6,1,1,50,1 "RC200, CW100, CR120, CR50",thermostat,157,switchprogmode,switch program mode,enum [level\|absolute], ,true,select.thermostat_hc1_switch_program_mode,select.thermostat_hc1_switchprogmode,6,1,1,51,1 "RC200, CW100, CR120, CR50",thermostat,157,redthreshold,reduction threshold,int8 (>=12<=22),C,true,number.thermostat_hc1_reduction_threshold,number.thermostat_hc1_redthreshold,6,1,1/2,52,1 +"RC200, CW100, CR120, CR50",thermostat,157,solarinfl,solar influence,uint8 (>=-5<=4294967295),C,true,number.thermostat_hc1_solar_influence,number.thermostat_hc1_solarinfl,6,1,1,-1,1 +"RC200, CW100, CR120, CR50",thermostat,157,currsolarinfl,curent solar influence,uint8 (>=0<=25),C,false,sensor.thermostat_hc1_curent_solar_influence,sensor.thermostat_hc1_currsolarinfl,6,1,1/10,-1,1 "RC200, CW100, CR120, CR50",thermostat,157,mode,operating mode,enum [off\|normal\|comfort\|auto\|own prog], ,true,select.thermostat_dhw_operating_mode,select.thermostat_dhw_mode,6,9,1,0,1 "RC200, CW100, CR120, CR50",thermostat,157,settemp,set temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_temperature,number.thermostat_dhw_settemp,6,9,1,1,1 "RC200, CW100, CR120, CR50",thermostat,157,settemplow,set low temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_low_temperature,number.thermostat_dhw_settemplow,6,9,1,2,1 @@ -3903,6 +3907,8 @@ device name,device type,product id,shortname,fullname,type [options...] \| (min/ "RC3*0, Moduline 3000/1010H, CW400, Sense II, HPC410",thermostat,158,cooloffdelay,cooling off delay,uint8 (>=1<=48),hours,true,number.thermostat_hc1_cooling_off_delay,number.thermostat_hc1_cooloffdelay,6,1,1,50,1 "RC3*0, Moduline 3000/1010H, CW400, Sense II, HPC410",thermostat,158,switchprogmode,switch program mode,enum [level\|absolute], ,true,select.thermostat_hc1_switch_program_mode,select.thermostat_hc1_switchprogmode,6,1,1,51,1 "RC3*0, Moduline 3000/1010H, CW400, Sense II, HPC410",thermostat,158,redthreshold,reduction threshold,int8 (>=12<=22),C,true,number.thermostat_hc1_reduction_threshold,number.thermostat_hc1_redthreshold,6,1,1/2,52,1 +"RC3*0, Moduline 3000/1010H, CW400, Sense II, HPC410",thermostat,158,solarinfl,solar influence,uint8 (>=-5<=4294967295),C,true,number.thermostat_hc1_solar_influence,number.thermostat_hc1_solarinfl,6,1,1,-1,1 +"RC3*0, Moduline 3000/1010H, CW400, Sense II, HPC410",thermostat,158,currsolarinfl,curent solar influence,uint8 (>=0<=25),C,false,sensor.thermostat_hc1_curent_solar_influence,sensor.thermostat_hc1_currsolarinfl,6,1,1/10,-1,1 "RC3*0, Moduline 3000/1010H, CW400, Sense II, HPC410",thermostat,158,mode,operating mode,enum [off\|normal\|comfort\|auto\|own prog], ,true,select.thermostat_dhw_operating_mode,select.thermostat_dhw_mode,6,9,1,0,1 "RC3*0, Moduline 3000/1010H, CW400, Sense II, HPC410",thermostat,158,settemp,set temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_temperature,number.thermostat_dhw_settemp,6,9,1,1,1 "RC3*0, Moduline 3000/1010H, CW400, Sense II, HPC410",thermostat,158,settemplow,set low temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_low_temperature,number.thermostat_dhw_settemplow,6,9,1,2,1 @@ -3988,6 +3994,8 @@ device name,device type,product id,shortname,fullname,type [options...] \| (min/ "RC100, CR10, Moduline 1000/1010",thermostat,165,cooloffdelay,cooling off delay,uint8 (>=1<=48),hours,true,number.thermostat_hc1_cooling_off_delay,number.thermostat_hc1_cooloffdelay,6,1,1,50,1 "RC100, CR10, Moduline 1000/1010",thermostat,165,switchprogmode,switch program mode,enum [level\|absolute], ,true,select.thermostat_hc1_switch_program_mode,select.thermostat_hc1_switchprogmode,6,1,1,51,1 "RC100, CR10, Moduline 1000/1010",thermostat,165,redthreshold,reduction threshold,int8 (>=12<=22),C,true,number.thermostat_hc1_reduction_threshold,number.thermostat_hc1_redthreshold,6,1,1/2,52,1 +"RC100, CR10, Moduline 1000/1010",thermostat,165,solarinfl,solar influence,uint8 (>=-5<=4294967295),C,true,number.thermostat_hc1_solar_influence,number.thermostat_hc1_solarinfl,6,1,1,-1,1 +"RC100, CR10, Moduline 1000/1010",thermostat,165,currsolarinfl,curent solar influence,uint8 (>=0<=25),C,false,sensor.thermostat_hc1_curent_solar_influence,sensor.thermostat_hc1_currsolarinfl,6,1,1/10,-1,1 "RC100, CR10, Moduline 1000/1010",thermostat,165,mode,operating mode,enum [off\|normal\|comfort\|auto\|own prog], ,true,select.thermostat_dhw_operating_mode,select.thermostat_dhw_mode,6,9,1,0,1 "RC100, CR10, Moduline 1000/1010",thermostat,165,settemp,set temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_temperature,number.thermostat_dhw_settemp,6,9,1,1,1 "RC100, CR10, Moduline 1000/1010",thermostat,165,settemplow,set low temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_low_temperature,number.thermostat_dhw_settemplow,6,9,1,2,1 @@ -4076,6 +4084,8 @@ device name,device type,product id,shortname,fullname,type [options...] \| (min/ "Rego 2000/3000",thermostat,172,cooloffdelay,cooling off delay,uint8 (>=1<=48),hours,true,number.thermostat_hc1_cooling_off_delay,number.thermostat_hc1_cooloffdelay,6,1,1,50,1 "Rego 2000/3000",thermostat,172,switchprogmode,switch program mode,enum [level\|absolute], ,true,select.thermostat_hc1_switch_program_mode,select.thermostat_hc1_switchprogmode,6,1,1,51,1 "Rego 2000/3000",thermostat,172,redthreshold,reduction threshold,int8 (>=12<=22),C,true,number.thermostat_hc1_reduction_threshold,number.thermostat_hc1_redthreshold,6,1,1/2,52,1 +"Rego 2000/3000",thermostat,172,solarinfl,solar influence,uint8 (>=-5<=4294967295),C,true,number.thermostat_hc1_solar_influence,number.thermostat_hc1_solarinfl,6,1,1,-1,1 +"Rego 2000/3000",thermostat,172,currsolarinfl,curent solar influence,uint8 (>=0<=25),C,false,sensor.thermostat_hc1_curent_solar_influence,sensor.thermostat_hc1_currsolarinfl,6,1,1/10,-1,1 "Rego 2000/3000",thermostat,172,mode,operating mode,enum [normal\|comfort\|eco+], ,true,select.thermostat_dhw_operating_mode,select.thermostat_dhw_mode,6,9,1,0,1 "Rego 2000/3000",thermostat,172,settemp,set temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_temperature,number.thermostat_dhw_settemp,6,9,1,1,1 "Rego 2000/3000",thermostat,172,settemplow,set low temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_low_temperature,number.thermostat_dhw_settemplow,6,9,1,2,1 @@ -4190,6 +4200,8 @@ device name,device type,product id,shortname,fullname,type [options...] \| (min/ "Rego 3000, UI800, Logamatic BC400",thermostat,253,cooloffdelay,cooling off delay,uint8 (>=1<=48),hours,true,number.thermostat_hc1_cooling_off_delay,number.thermostat_hc1_cooloffdelay,6,1,1,50,1 "Rego 3000, UI800, Logamatic BC400",thermostat,253,switchprogmode,switch program mode,enum [level\|absolute], ,true,select.thermostat_hc1_switch_program_mode,select.thermostat_hc1_switchprogmode,6,1,1,51,1 "Rego 3000, UI800, Logamatic BC400",thermostat,253,redthreshold,reduction threshold,int8 (>=12<=22),C,true,number.thermostat_hc1_reduction_threshold,number.thermostat_hc1_redthreshold,6,1,1/2,52,1 +"Rego 3000, UI800, Logamatic BC400",thermostat,253,solarinfl,solar influence,uint8 (>=-5<=4294967295),C,true,number.thermostat_hc1_solar_influence,number.thermostat_hc1_solarinfl,6,1,1,-1,1 +"Rego 3000, UI800, Logamatic BC400",thermostat,253,currsolarinfl,curent solar influence,uint8 (>=0<=25),C,false,sensor.thermostat_hc1_curent_solar_influence,sensor.thermostat_hc1_currsolarinfl,6,1,1/10,-1,1 "Rego 3000, UI800, Logamatic BC400",thermostat,253,mode,operating mode,enum [off\|eco+\|eco\|comfort\|auto], ,true,select.thermostat_dhw_operating_mode,select.thermostat_dhw_mode,6,9,1,0,1 "Rego 3000, UI800, Logamatic BC400",thermostat,253,settemp,set temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_temperature,number.thermostat_dhw_settemp,6,9,1,1,1 "Rego 3000, UI800, Logamatic BC400",thermostat,253,settemplow,set low temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_low_temperature,number.thermostat_dhw_settemplow,6,9,1,2,1 @@ -4841,6 +4853,8 @@ device name,device type,product id,shortname,fullname,type [options...] \| (min/ "RC120",thermostat,157,cooloffdelay,cooling off delay,uint8 (>=1<=48),hours,true,number.thermostat_hc1_cooling_off_delay,number.thermostat_hc1_cooloffdelay,6,1,1,50,1 "RC120",thermostat,157,switchprogmode,switch program mode,enum [level\|absolute], ,true,select.thermostat_hc1_switch_program_mode,select.thermostat_hc1_switchprogmode,6,1,1,51,1 "RC120",thermostat,157,redthreshold,reduction threshold,int8 (>=12<=22),C,true,number.thermostat_hc1_reduction_threshold,number.thermostat_hc1_redthreshold,6,1,1/2,52,1 +"RC120",thermostat,157,solarinfl,solar influence,uint8 (>=-5<=4294967295),C,true,number.thermostat_hc1_solar_influence,number.thermostat_hc1_solarinfl,6,1,1,-1,1 +"RC120",thermostat,157,currsolarinfl,curent solar influence,uint8 (>=0<=25),C,false,sensor.thermostat_hc1_curent_solar_influence,sensor.thermostat_hc1_currsolarinfl,6,1,1/10,-1,1 "RC120",thermostat,157,mode,operating mode,enum [off\|comfort\|auto], ,true,select.thermostat_dhw_operating_mode,select.thermostat_dhw_mode,6,9,1,0,1 "RC120",thermostat,157,settemp,set temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_temperature,number.thermostat_dhw_settemp,6,9,1,1,1 "RC120",thermostat,157,settemplow,set low temperature,uint8 (>=0<=254),C,true,number.thermostat_dhw_set_low_temperature,number.thermostat_dhw_settemplow,6,9,1,2,1 From 960baadecacc9c9adad7d0c3872ec6384684a8af Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 18:58:59 +0100 Subject: [PATCH 06/25] changed text --- boards/esp32dev.json | 34 ++++++++++++++++++++++++++++++++++ boards/s3_16M_P.json | 2 +- boards/s3_32M_P.json | 2 +- boards/s_16M.json | 4 ++-- boards/s_16M_P.json | 2 +- boards/s_4M.json | 2 +- 6 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 boards/esp32dev.json diff --git a/boards/esp32dev.json b/boards/esp32dev.json new file mode 100644 index 000000000..0ed450c4a --- /dev/null +++ b/boards/esp32dev.json @@ -0,0 +1,34 @@ +{ + "build": { + "core": "esp32", + "f_cpu": "240000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "mcu": "esp32", + "variant": "esp32" + }, + "connectivity": [ + "wifi", + "ethernet" + ], + "debug": { + "openocd_board": "esp32.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Espressif ESP32 Dev Module", + "upload": { + "flash_size": "16MB", + "maximum_ram_size": 327680, + "maximum_size": 16777216, + "require_upload_port": true, + "speed": 460800 + }, + "download": { + "speed": 230400 + }, + "url": "https://en.wikipedia.org/wiki/ESP32", + "vendor": "Espressif" + } \ No newline at end of file diff --git a/boards/s3_16M_P.json b/boards/s3_16M_P.json index 39a795ee5..25949c7b1 100644 --- a/boards/s3_16M_P.json +++ b/boards/s3_16M_P.json @@ -24,7 +24,7 @@ "arduino", "espidf" ], - "name": "Espressif Generic ESP32-S3 16M Flash OPI PSRAM, 4608KB Code/OTA, 2MB FS", + "name": "Espressif ESP32-S3 16M Flash OPI PSRAM, 4608KB Code/OTA, 2MB FS", "upload": { "flash_size": "16MB", "maximum_ram_size": 327680, diff --git a/boards/s3_32M_P.json b/boards/s3_32M_P.json index c247db39e..1aa0746c1 100644 --- a/boards/s3_32M_P.json +++ b/boards/s3_32M_P.json @@ -21,7 +21,7 @@ "arduino", "espidf" ], - "name": "Espressif Generic ESP32-S3 32M Flash OPI PSRAM, 4608KB Code/OTA, 2MB FS", + "name": "Espressif ESP32-S3 32M Flash OPI PSRAM, 4608KB Code/OTA, 2MB FS", "upload": { "flash_size": "32MB", "maximum_ram_size": 327680, diff --git a/boards/s_16M.json b/boards/s_16M.json index 6362f296d..6dc0a7f65 100644 --- a/boards/s_16M.json +++ b/boards/s_16M.json @@ -3,7 +3,7 @@ "core": "esp32", "extra_flags": "-DTASMOTA_SDK", "f_cpu": "240000000L", - "f_flash": "80000000L", + "f_flash": "40000000L", "flash_mode": "dio", "mcu": "esp32", "variant": "esp32" @@ -19,7 +19,7 @@ "arduino", "espidf" ], - "name": "Espressif Generic ESP32 16M Flash, Tasmota 4608KB Code/OTA, 2MB FS", + "name": "Espressif ESP32 16M Flash, 4608KB Code/OTA, 2MB FS", "upload": { "flash_size": "16MB", "maximum_ram_size": 327680, diff --git a/boards/s_16M_P.json b/boards/s_16M_P.json index 3ed91d6e5..462f17bb6 100644 --- a/boards/s_16M_P.json +++ b/boards/s_16M_P.json @@ -19,7 +19,7 @@ "arduino", "espidf" ], - "name": "Espressif Generic ESP32 16M Flash DIO PSRAM, 4608KB Code/OTA, 2MB FS", + "name": "Espressif ESP32 16M Flash DIO PSRAM, 4608KB Code/OTA, 2MB FS", "upload": { "flash_size": "16MB", "maximum_ram_size": 327680, diff --git a/boards/s_4M.json b/boards/s_4M.json index 13a127242..68ccf38bd 100644 --- a/boards/s_4M.json +++ b/boards/s_4M.json @@ -18,7 +18,7 @@ "arduino", "espidf" ], - "name": "Espressif Generic ESP32 4M Flash, Tasmota 4608KB Code/OTA, 2MB FS", + "name": "Tasmota ESP32 4M Flash, 4608KB Code/OTA, 2MB FS", "upload": { "flash_size": "4MB", "maximum_ram_size": 327680, From d6e72e72d758e2f9f7d86dc6e4127317ae61033a Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 18:59:10 +0100 Subject: [PATCH 07/25] auto-formatting --- interface/src/app/main/deviceValue.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/interface/src/app/main/deviceValue.ts b/interface/src/app/main/deviceValue.ts index e03bf712c..57b0dfaa3 100644 --- a/interface/src/app/main/deviceValue.ts +++ b/interface/src/app/main/deviceValue.ts @@ -36,7 +36,9 @@ export function formatValue( } return ( (value as string) + - (value === '' || uom === undefined || uom === 0 ? '' : ' ' + DeviceValueUOM_s[uom]) + (value === '' || uom === undefined || uom === 0 + ? '' + : ' ' + DeviceValueUOM_s[uom]) ); } From b900194402e2ea53dcd31bd4f828636a29c59924 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 18:59:30 +0100 Subject: [PATCH 08/25] package update --- interface/yarn.lock | 266 ++++++++++++++++++++++---------------------- 1 file changed, 133 insertions(+), 133 deletions(-) diff --git a/interface/yarn.lock b/interface/yarn.lock index 8bb9455e4..474daeb8b 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -44,10 +44,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.9": - version: 7.26.3 - resolution: "@babel/compat-data@npm:7.26.3" - checksum: 10c0/d63e71845c34dfad8d7ff8c15b562e620dbf60e68e3abfa35681d24d612594e8e5ec9790d831a287ecd79ce00f48e7ffddc85c5ce94af7242d45917b9c1a5f90 +"@babel/compat-data@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/compat-data@npm:7.26.5" + checksum: 10c0/9d2b41f0948c3dfc5de44d9f789d2208c2ea1fd7eb896dfbb297fe955e696728d6f363c600cd211e7f58ccbc2d834fe516bb1e4cf883bbabed8a32b038afc1a0 languageName: node linkType: hard @@ -74,16 +74,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.2, @babel/generator@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/generator@npm:7.26.3" +"@babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.2, @babel/generator@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/generator@npm:7.26.5" dependencies: - "@babel/parser": "npm:^7.26.3" - "@babel/types": "npm:^7.26.3" + "@babel/parser": "npm:^7.26.5" + "@babel/types": "npm:^7.26.5" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/54f260558e3e4ec8942da3cde607c35349bb983c3a7c5121243f96893fba3e8cd62e1f1773b2051f936f8c8a10987b758d5c7d76dbf2784e95bb63ab4843fa00 + checksum: 10c0/3be79e0aa03f38858a465d12ee2e468320b9122dc44fc85984713e32f16f4d77ce34a16a1a9505972782590e0b8d847b6f373621f9c6fafa1906d90f31416cb0 languageName: node linkType: hard @@ -97,15 +97,15 @@ __metadata: linkType: hard "@babel/helper-compilation-targets@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-compilation-targets@npm:7.25.9" + version: 7.26.5 + resolution: "@babel/helper-compilation-targets@npm:7.26.5" dependencies: - "@babel/compat-data": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.26.5" "@babel/helper-validator-option": "npm:^7.25.9" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa + checksum: 10c0/9da5c77e5722f1a2fcb3e893049a01d414124522bbf51323bb1a0c9dcd326f15279836450fc36f83c9e8a846f3c40e88be032ed939c5a9840922bed6073edfb4 languageName: node linkType: hard @@ -133,9 +133,9 @@ __metadata: linkType: hard "@babel/helper-plugin-utils@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-plugin-utils@npm:7.25.9" - checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d + version: 7.26.5 + resolution: "@babel/helper-plugin-utils@npm:7.26.5" + checksum: 10c0/cdaba71d4b891aa6a8dfbe5bac2f94effb13e5fa4c2c487667fdbaa04eae059b78b28d85a885071f45f7205aeb56d16759e1bed9c118b94b16e4720ef1ab0f65 languageName: node linkType: hard @@ -170,14 +170,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2, @babel/parser@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/parser@npm:7.26.3" +"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2, @babel/parser@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/parser@npm:7.26.5" dependencies: - "@babel/types": "npm:^7.26.3" + "@babel/types": "npm:^7.26.5" bin: parser: ./bin/babel-parser.js - checksum: 10c0/48f736374e61cfd10ddbf7b80678514ae1f16d0e88bc793d2b505d73d9b987ea786fc8c2f7ee8f8b8c467df062030eb07fd0eb2168f0f541ca1f542775852cad + checksum: 10c0/2e77dd99ee028ee3c10fa03517ae1169f2432751adf71315e4dc0d90b61639d51760d622f418f6ac665ae4ea65f8485232a112ea0e76f18e5900225d3d19a61e languageName: node linkType: hard @@ -239,27 +239,27 @@ __metadata: linkType: hard "@babel/traverse@npm:^7.25.9": - version: 7.26.4 - resolution: "@babel/traverse@npm:7.26.4" + version: 7.26.5 + resolution: "@babel/traverse@npm:7.26.5" dependencies: "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.26.3" - "@babel/parser": "npm:^7.26.3" + "@babel/generator": "npm:^7.26.5" + "@babel/parser": "npm:^7.26.5" "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.26.3" + "@babel/types": "npm:^7.26.5" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/cf25d0eda9505daa0f0832ad786b9e28c9d967e823aaf7fbe425250ab198c656085495aa6bed678b27929e095c84eea9fd778b851a31803da94c9bc4bf4eaef7 + checksum: 10c0/0779059ecf63e31446564cf31adf170e701e8017ef02c819c57924a9a83d6b2ce41dbff3ef295589da9410497a3e575655bb8084ca470e0ab1bc193128afa9fe languageName: node linkType: hard -"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/types@npm:7.26.3" +"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/types@npm:7.26.5" dependencies: "@babel/helper-string-parser": "npm:^7.25.9" "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/966c5242c5e55c8704bf7a7418e7be2703a0afa4d19a8480999d5a4ef13d095dd60686615fe5983cb7593b4b06ba3a7de8d6ca501c1d78bdd233a10d90be787b + checksum: 10c0/0278053b69d7c2b8573aa36dc5242cad95f0d965e1c0ed21ccacac6330092e59ba5949753448f6d6eccf6ad59baaef270295cc05218352e060ea8c68388638c4 languageName: node linkType: hard @@ -1086,135 +1086,135 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.29.1" +"@rollup/rollup-android-arm-eabi@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.30.1" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-android-arm64@npm:4.29.1" +"@rollup/rollup-android-arm64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-android-arm64@npm:4.30.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-darwin-arm64@npm:4.29.1" +"@rollup/rollup-darwin-arm64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.30.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-darwin-x64@npm:4.29.1" +"@rollup/rollup-darwin-x64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.30.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.29.1" +"@rollup/rollup-freebsd-arm64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.30.1" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-freebsd-x64@npm:4.29.1" +"@rollup/rollup-freebsd-x64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.30.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.29.1" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.30.1" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.29.1" +"@rollup/rollup-linux-arm-musleabihf@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.30.1" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.29.1" +"@rollup/rollup-linux-arm64-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.30.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.29.1" +"@rollup/rollup-linux-arm64-musl@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.30.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loongarch64-gnu@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.29.1" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.30.1" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.29.1" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.30.1" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.29.1" +"@rollup/rollup-linux-riscv64-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.30.1" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.29.1" +"@rollup/rollup-linux-s390x-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.30.1" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.29.1" +"@rollup/rollup-linux-x64-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.30.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.29.1" +"@rollup/rollup-linux-x64-musl@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.30.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.29.1" +"@rollup/rollup-win32-arm64-msvc@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.30.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.29.1" +"@rollup/rollup-win32-ia32-msvc@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.30.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.29.1": - version: 4.29.1 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.29.1" +"@rollup/rollup-win32-x64-msvc@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.30.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1915,8 +1915,8 @@ __metadata: linkType: hard "browserslist@npm:^4.24.0": - version: 4.24.3 - resolution: "browserslist@npm:4.24.3" + version: 4.24.4 + resolution: "browserslist@npm:4.24.4" dependencies: caniuse-lite: "npm:^1.0.30001688" electron-to-chromium: "npm:^1.5.73" @@ -1924,7 +1924,7 @@ __metadata: update-browserslist-db: "npm:^1.1.1" bin: browserslist: cli.js - checksum: 10c0/bab261ef7b6e1656a719a9fa31240ae7ce4d5ba68e479f6b11e348d819346ab4c0ff6f4821f43adcc9c193a734b186775a83b37979e70a69d182965909fe569a + checksum: 10c0/db7ebc1733cf471e0b490b4f47e3e2ea2947ce417192c9246644e92c667dd56a71406cc58f62ca7587caf828364892e9952904a02b7aead752bc65b62a37cfe9 languageName: node linkType: hard @@ -2036,9 +2036,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001688": - version: 1.0.30001690 - resolution: "caniuse-lite@npm:1.0.30001690" - checksum: 10c0/646bd469032afa90400a84dec30a2b00a6eda62c03ead358117e3f884cda8aacec02ec058a6dbee5eaf9714f83e483b9b0eb4fb42febb8076569f5ca40f1d347 + version: 1.0.30001692 + resolution: "caniuse-lite@npm:1.0.30001692" + checksum: 10c0/fca5105561ea12f3de593f3b0f062af82f7d07519e8dbcb97f34e7fd23349bcef1b1622a9a6cd2164d98e3d2f20059ef7e271edae46567aef88caf4c16c7708a languageName: node linkType: hard @@ -2555,13 +2555,13 @@ __metadata: linkType: hard "domutils@npm:^3.0.1": - version: 3.2.1 - resolution: "domutils@npm:3.2.1" + version: 3.2.2 + resolution: "domutils@npm:3.2.2" dependencies: dom-serializer: "npm:^2.0.0" domelementtype: "npm:^2.3.0" domhandler: "npm:^5.0.3" - checksum: 10c0/af2a8e28fe51137307d2400c4b6483a3294ac8f784b14fc74b67f3aca3aa53a63144bd9e2bb96f23174c0c1aa680544bf2d77b4cc94e6f90f33314ed65c12a4f + checksum: 10c0/47938f473b987ea71cd59e59626eb8666d3aa8feba5266e45527f3b636c7883cca7e582d901531961f742c519d7514636b7973353b648762b2e3bedbf235fada languageName: node linkType: hard @@ -2619,9 +2619,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.5.73": - version: 1.5.76 - resolution: "electron-to-chromium@npm:1.5.76" - checksum: 10c0/5a977be9fd5810769a7b4eae0e4b41b6beca65f2b3f3b7442819f6c93366d767d183cfbf408714f944a9bf3aa304f8c9ab9d0cdfd8e878ab8f2cbb61f8b22acd + version: 1.5.80 + resolution: "electron-to-chromium@npm:1.5.80" + checksum: 10c0/6aaf1891e1b05251efac6f4a63c0ddccf567f0f76506cf0cb284f11413762423fddd7786558066f74c3a95e2a533dad7a97bebe38779b46b7a799d8dd20cea53 languageName: node linkType: hard @@ -3269,15 +3269,15 @@ __metadata: linkType: hard "fast-glob@npm:^3.0.3, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": "npm:^2.0.2" "@nodelib/fs.walk": "npm:^1.2.3" glob-parent: "npm:^5.1.2" merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe languageName: node linkType: hard @@ -4733,7 +4733,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4": +"micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -5363,7 +5363,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 @@ -5859,28 +5859,28 @@ __metadata: linkType: hard "rollup@npm:^4.23.0": - version: 4.29.1 - resolution: "rollup@npm:4.29.1" + version: 4.30.1 + resolution: "rollup@npm:4.30.1" dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.29.1" - "@rollup/rollup-android-arm64": "npm:4.29.1" - "@rollup/rollup-darwin-arm64": "npm:4.29.1" - "@rollup/rollup-darwin-x64": "npm:4.29.1" - "@rollup/rollup-freebsd-arm64": "npm:4.29.1" - "@rollup/rollup-freebsd-x64": "npm:4.29.1" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.29.1" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.29.1" - "@rollup/rollup-linux-arm64-gnu": "npm:4.29.1" - "@rollup/rollup-linux-arm64-musl": "npm:4.29.1" - "@rollup/rollup-linux-loongarch64-gnu": "npm:4.29.1" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.29.1" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.29.1" - "@rollup/rollup-linux-s390x-gnu": "npm:4.29.1" - "@rollup/rollup-linux-x64-gnu": "npm:4.29.1" - "@rollup/rollup-linux-x64-musl": "npm:4.29.1" - "@rollup/rollup-win32-arm64-msvc": "npm:4.29.1" - "@rollup/rollup-win32-ia32-msvc": "npm:4.29.1" - "@rollup/rollup-win32-x64-msvc": "npm:4.29.1" + "@rollup/rollup-android-arm-eabi": "npm:4.30.1" + "@rollup/rollup-android-arm64": "npm:4.30.1" + "@rollup/rollup-darwin-arm64": "npm:4.30.1" + "@rollup/rollup-darwin-x64": "npm:4.30.1" + "@rollup/rollup-freebsd-arm64": "npm:4.30.1" + "@rollup/rollup-freebsd-x64": "npm:4.30.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.30.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.30.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.30.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.30.1" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.30.1" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.30.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.30.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.30.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.30.1" + "@rollup/rollup-linux-x64-musl": "npm:4.30.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.30.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.30.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.30.1" "@types/estree": "npm:1.0.6" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -5926,7 +5926,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/fcd0321df78fdc74b36858e92c4b73ebf5aa8f0b9cf7c446f008e0dc3c5c4ed855d662dc44e5a09c7794bbe91017b4dd7be88b619c239f0494f9f0fbfa67c557 + checksum: 10c0/a318c57e2ca9741e1503bcd75483949c6e83edd72234a468010a3098a34248f523e44f7ad4fde90dc5c2da56abc1b78ac42a9329e1dbd708682728adbd8df7cc languageName: node linkType: hard @@ -6718,16 +6718,16 @@ __metadata: linkType: hard "update-browserslist-db@npm:^1.1.1": - version: 1.1.1 - resolution: "update-browserslist-db@npm:1.1.1" + version: 1.1.2 + resolution: "update-browserslist-db@npm:1.1.2" dependencies: escalade: "npm:^3.2.0" - picocolors: "npm:^1.1.0" + picocolors: "npm:^1.1.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80 + checksum: 10c0/9cb353998d6d7d6ba1e46b8fa3db888822dd972212da4eda609d185eb5c3557a93fd59780ceb757afd4d84240518df08542736969e6a5d6d6ce2d58e9363aac6 languageName: node linkType: hard From 494cf3b6a8540123273c5c4d0ccd8e3496de1385 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 18:59:39 +0100 Subject: [PATCH 09/25] package update --- mock-api/yarn.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/mock-api/yarn.lock b/mock-api/yarn.lock index 4c99202d5..0db64f3f0 100644 --- a/mock-api/yarn.lock +++ b/mock-api/yarn.lock @@ -16,16 +16,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.26.2, @babel/generator@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/generator@npm:7.26.3" +"@babel/generator@npm:^7.26.2, @babel/generator@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/generator@npm:7.26.5" dependencies: - "@babel/parser": "npm:^7.26.3" - "@babel/types": "npm:^7.26.3" + "@babel/parser": "npm:^7.26.5" + "@babel/types": "npm:^7.26.5" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/54f260558e3e4ec8942da3cde607c35349bb983c3a7c5121243f96893fba3e8cd62e1f1773b2051f936f8c8a10987b758d5c7d76dbf2784e95bb63ab4843fa00 + checksum: 10c0/3be79e0aa03f38858a465d12ee2e468320b9122dc44fc85984713e32f16f4d77ce34a16a1a9505972782590e0b8d847b6f373621f9c6fafa1906d90f31416cb0 languageName: node linkType: hard @@ -43,14 +43,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.2, @babel/parser@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/parser@npm:7.26.3" +"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.2, @babel/parser@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/parser@npm:7.26.5" dependencies: - "@babel/types": "npm:^7.26.3" + "@babel/types": "npm:^7.26.5" bin: parser: ./bin/babel-parser.js - checksum: 10c0/48f736374e61cfd10ddbf7b80678514ae1f16d0e88bc793d2b505d73d9b987ea786fc8c2f7ee8f8b8c467df062030eb07fd0eb2168f0f541ca1f542775852cad + checksum: 10c0/2e77dd99ee028ee3c10fa03517ae1169f2432751adf71315e4dc0d90b61639d51760d622f418f6ac665ae4ea65f8485232a112ea0e76f18e5900225d3d19a61e languageName: node linkType: hard @@ -66,27 +66,27 @@ __metadata: linkType: hard "@babel/traverse@npm:^7.25.9": - version: 7.26.4 - resolution: "@babel/traverse@npm:7.26.4" + version: 7.26.5 + resolution: "@babel/traverse@npm:7.26.5" dependencies: "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.26.3" - "@babel/parser": "npm:^7.26.3" + "@babel/generator": "npm:^7.26.5" + "@babel/parser": "npm:^7.26.5" "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.26.3" + "@babel/types": "npm:^7.26.5" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/cf25d0eda9505daa0f0832ad786b9e28c9d967e823aaf7fbe425250ab198c656085495aa6bed678b27929e095c84eea9fd778b851a31803da94c9bc4bf4eaef7 + checksum: 10c0/0779059ecf63e31446564cf31adf170e701e8017ef02c819c57924a9a83d6b2ce41dbff3ef295589da9410497a3e575655bb8084ca470e0ab1bc193128afa9fe languageName: node linkType: hard -"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/types@npm:7.26.3" +"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/types@npm:7.26.5" dependencies: "@babel/helper-string-parser": "npm:^7.25.9" "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/966c5242c5e55c8704bf7a7418e7be2703a0afa4d19a8480999d5a4ef13d095dd60686615fe5983cb7593b4b06ba3a7de8d6ca501c1d78bdd233a10d90be787b + checksum: 10c0/0278053b69d7c2b8573aa36dc5242cad95f0d965e1c0ed21ccacac6330092e59ba5949753448f6d6eccf6ad59baaef270295cc05218352e060ea8c68388638c4 languageName: node linkType: hard From a65162fbbc8ca5838c57ed5a5894b87ab0fe18a6 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 18:59:49 +0100 Subject: [PATCH 10/25] updated generated file --- src/modbus_entity_parameters.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modbus_entity_parameters.hpp b/src/modbus_entity_parameters.hpp index a5e25b92e..783b7bd9e 100644 --- a/src/modbus_entity_parameters.hpp +++ b/src/modbus_entity_parameters.hpp @@ -373,6 +373,8 @@ const std::initializer_list Modbus::modbus_register_ma REGISTER_MAPPING(dt::THERMOSTAT, TAG_TYPE_HC, FL_(heattemp), 195, 1), // heattemp REGISTER_MAPPING(dt::THERMOSTAT, TAG_TYPE_HC, FL_(roomsensor), 196, 1), // roomsensor REGISTER_MAPPING(dt::THERMOSTAT, TAG_TYPE_HC, FL_(heatup), 197, 1), // heatup + REGISTER_MAPPING(dt::THERMOSTAT, TAG_TYPE_HC, FL_(solarinfl), 198, 1), // solarinfl + REGISTER_MAPPING(dt::THERMOSTAT, TAG_TYPE_HC, FL_(currsolarinfl), 199, 1), // currsolarinfl REGISTER_MAPPING(dt::THERMOSTAT, TAG_TYPE_DHW, FL_(mode), 0, 1), // mode REGISTER_MAPPING(dt::THERMOSTAT, TAG_TYPE_DHW, FL_(wwSetTemp), 1, 1), // settemp REGISTER_MAPPING(dt::THERMOSTAT, TAG_TYPE_DHW, FL_(wwSetTempLow), 2, 1), // settemplow From 4be2f9283d22b691a2d6bea6270542d1328d75a7 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 19:00:05 +0100 Subject: [PATCH 11/25] updated dictionary --- project-words.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/project-words.txt b/project-words.txt index 944eb9b5b..f78a36626 100644 --- a/project-words.txt +++ b/project-words.txt @@ -1407,4 +1407,6 @@ elheat elgenheat fueldhw eldhw -elgendhw \ No newline at end of file +elgendhw +solarinfl +currsolarinfl \ No newline at end of file From 5a27817d1133ebcfc4de51b1bfdcd67e834c8233 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 19:00:14 +0100 Subject: [PATCH 12/25] updated example --- pio_local.ini_example | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pio_local.ini_example b/pio_local.ini_example index cf009cd42..975fe8725 100644 --- a/pio_local.ini_example +++ b/pio_local.ini_example @@ -15,11 +15,13 @@ ; my_build_flags = -DEMSESP_TEST -DEMSESP_DEBUG ; my_build_flags = -DEMSESP_DEBUG -DEMSESP_TEST -DEMSESP_PINGTEST ; my_build_flags = -DEMSESP_DEBUG -DCORE_DEBUG_LEVEL=5 -my_build_flags = +my_build_flags = [platformio] ; default_envs = s_16M_P ; BBQKees E32V2 -default_envs = s3_16M_P ; BBQKees S3 +; default_envs = s3_16M_P ; BBQKees S3 +; default_envs = s_4M ; BBQKees older S32, 4MB no psram +default_envs = s_16M ; BBQKees newer S32 V2, 16MB no psram [env] @@ -27,11 +29,11 @@ default_envs = s3_16M_P ; BBQKees S3 ; build_type = debug ; monitor_filters = colorize, esp32_exception_decoder -; customize the scripts +; uncomment if you want to upload the firmware via OTA (must have upload_protocol = custom) ; extra_scripts = - ; pre:scripts/build_interface.py ; builds the WebUI (unless NO_BUILD_WEBUI is set) - comment out if you don't want to build each time - ; scripts/rename_fw.py ; renames the firmware .bin file - comment out if not needed - ; scripts/upload.py ; optionally upload the firmware via OTA (must have upload_protocol = custom) +; pre:scripts/build_interface.py ; builds the WebUI (unless NO_BUILD_WEBUI is set) - comment out if you don't want to build each time +; scripts/rename_fw.py ; renames the firmware .bin file - comment out if not needed +; scripts/upload.py ; optionally upload the firmware via OTA (must have upload_protocol = custom) ; set the username and password for the admin account (default password is admin) custom_username = admin @@ -45,9 +47,8 @@ custom_password = admin ; upload_protocol = custom ; custom_emsesp_ip = or ems-esp.local -upload_protocol = custom -custom_emsesp_ip = 10.10.10.93 ; S3 -; custom_emsesp_ip = 192.168.1.225 ; E32V2 +; upload_protocol = custom +; custom_emsesp_ip = 10.10.10.93 ; ** debug settings ** ; to be used with esp-prog/JTAG hardware device like https://docs.espressif.com/projects/esp-dev-kits/en/latest/other/esp-prog/user_guide.html From c810d58064eb4ccb694617035372a28f4a6e7cd9 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 19:00:47 +0100 Subject: [PATCH 13/25] changed comments, make sure S32 V2 is compiled with Tasmota --- platformio.ini | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/platformio.ini b/platformio.ini index 722d46593..911d9c031 100644 --- a/platformio.ini +++ b/platformio.ini @@ -128,17 +128,19 @@ lib_deps = ; ; Builds for different board types -; If the environment variable (windows or linux) "NO_BUILD_WEBUI" is set, the WebUI will not be built. -; If you're building for a single target, create a pio_local.ini file (look at example) +; We use Tasmota for boards without PSRAM as this framework has mbedtls removed to save memory. +; +; Note, if the system environment variable (windows or linux) "NO_BUILD_WEBUI" is set, the WebUI will not be built. +; If you're building for a single target environment, we recommend creating a pio_local.ini (see example file) ; [env:s_4M] -; 4MB ESP32 - using Tasmota - no SSL, no PSRAM - like a BBQKees older S32 and E32 models +; 4MB ESP32 - no SSL, no PSRAM - like a BBQKees older S32 and E32 models - uses Tasmota extends = espressif32_base_T_4M board = s_4M [env:s_16M] -; 16MB ESP32 - using Tasmota - no SSL, no PSRAM - like a BBQKees later S32 models +; 16MB ESP32 - no PSRAM - like a BBQKees later S32 V2 models - uses Tasmota extends = espressif32_base_T_16M board = s_16M @@ -158,12 +160,12 @@ extends = espressif32_base_32M board = s3_32M_P [env:s2_4M_P] -; based on lolin_s2_mini with 2MB PSRAM +; based on lolin_s2_mini 4MB with 2MB PSRAM - uses Tasmota extends = espressif32_base_T_4M board = s2_4M_P [env:c3_mini_4M] -; based on lolin_c3_mini, no PSRAM +; based on lolin_c3_mini 4MB, no PSRAM - uses Tasmota extends = espressif32_base_T_4M board = c3_mini_4M From 37c4be321f6d7993aca9e6d027984f8311bde048 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 19:01:03 +0100 Subject: [PATCH 14/25] output also the flash size --- src/core/system.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/core/system.cpp b/src/core/system.cpp index 3dde2406c..1e583304b 100644 --- a/src/core/system.cpp +++ b/src/core/system.cpp @@ -1517,7 +1517,7 @@ bool System::command_info(const char * value, const int8_t id, JsonObject output // System node = output["system"].to(); -// prevent false negative in Unity tests every time the version changes +// prevent false-negatives in Unity tests every time the version changes #if defined(EMSESP_UNITY) node["version"] = "dev"; #else @@ -1526,16 +1526,17 @@ bool System::command_info(const char * value, const int8_t id, JsonObject output node["uptime"] = uuid::log::format_timestamp_ms(uuid::get_uptime_ms(), 3); node["uptimeSec"] = uuid::get_uptime_sec(); #ifndef EMSESP_STANDALONE - node["platform"] = EMSESP_PLATFORM; - node["cpuType"] = ESP.getChipModel(); - node["arduino"] = ARDUINO_VERSION; - node["sdk"] = ESP.getSdkVersion(); - node["freeMem"] = getHeapMem(); - node["maxAlloc"] = getMaxAllocMem(); - node["freeCaps"] = heap_caps_get_free_size(MALLOC_CAP_8BIT) / 1024; // includes heap and psram - node["usedApp"] = EMSESP::system_.appUsed(); // kilobytes - node["freeApp"] = EMSESP::system_.appFree(); // kilobytes - node["partition"] = esp_ota_get_running_partition()->label; // active partition + node["platform"] = EMSESP_PLATFORM; + node["cpuType"] = ESP.getChipModel(); + node["arduino"] = ARDUINO_VERSION; + node["sdk"] = ESP.getSdkVersion(); + node["freeMem"] = getHeapMem(); + node["maxAlloc"] = getMaxAllocMem(); + node["freeCaps"] = heap_caps_get_free_size(MALLOC_CAP_8BIT) / 1024; // includes heap and psram + node["usedApp"] = EMSESP::system_.appUsed(); // kilobytes + node["freeApp"] = EMSESP::system_.appFree(); // kilobytes + node["partition"] = esp_ota_get_running_partition()->label; // active partition + node["flash_chip_size"] = ESP.getFlashChipSize() / 1024; // kilobytes #endif node["resetReason"] = EMSESP::system_.reset_reason(0) + " / " + EMSESP::system_.reset_reason(1); #ifndef EMSESP_STANDALONE From ae258a75d956c045fbccf176f86a7e29f6671a18 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 19:01:53 +0100 Subject: [PATCH 15/25] simulate ESP32 and ESP32-S3 --- mock-api/rest_server.ts | 139 +++++++++++++++++++++++++--------------- 1 file changed, 87 insertions(+), 52 deletions(-) diff --git a/mock-api/rest_server.ts b/mock-api/rest_server.ts index 27cfdf1fc..5f018137a 100644 --- a/mock-api/rest_server.ts +++ b/mock-api/rest_server.ts @@ -14,16 +14,63 @@ const headers = { 'Content-type': 'application/msgpack' }; +let system_status = { + emsesp_version: 'XX.XX.XX', // defined later + bus_status: 0, + // status: 2, + uptime: 77186, + bus_uptime: 77121, + num_devices: 2, + num_sensors: 1, + num_analogs: 1, + free_heap: 143, + ntp_status: 2, + ntp_time: '2021-04-01T14:25:42Z', + mqtt_status: true, + ap_status: false, + network_status: 3, // wifi connected + // network_status: 10, // ethernet connected + // network_status: 6, // wifi disconnected + wifi_rssi: -41, + esp_platform: 'ESP32S3', + build_flags: 'DEMO', + cpu_type: 'ESP32-S3', + cpu_rev: 0, + cpu_cores: 2, + cpu_freq_mhz: 240, + max_alloc_heap: 191, + arduino_version: 'ESP32 Arduino v2.0.17', + sdk_version: 'v4.4.7', + partition: 'app0', + flash_chip_size: 16384, + flash_chip_speed: 80000000, + app_used: 2258, + app_free: 3438, + fs_used: 24, + fs_free: 2024, + free_caps: 8376, + psram: true, + psram_size: 8189, + free_psram: 8166, + has_loader: true, + model: '', + // model: 'BBQKees Electronics EMS Gateway E32 V2 (E32 V2.0 P3/2024011)', + status: 'downloading' +}; + let VERSION_IS_UPGRADEABLE: boolean; // Versions // default - on latest stable, no upgrades -let THIS_VERSION = '3.7.2'; -let LATEST_STABLE_VERSION = '3.7.2'; -let LATEST_DEV_VERSION = '3.7.3-dev.1'; +let THIS_VERSION = '3.7.1'; +let LATEST_STABLE_VERSION = '3.7.1'; +let LATEST_DEV_VERSION = '3.7.2-dev.9'; -// scenarios for testing, overriding the default -const version_test = 0; +// scenarios for testing versioning +const version_test = 0; // on latest stable, no upgrades, but can switch +// const version_test = 1; // on latest dev, no update +// const version_test = 2; // upgrade stable to latest stable +// const version_test = 3; // upgrade dev to latest dev switch (version_test as number) { case 0: @@ -33,9 +80,9 @@ switch (version_test as number) { break; case 1: // on latest dev, no update - THIS_VERSION = '3.7.2-dev.12'; + THIS_VERSION = '3.7.2-dev.9'; LATEST_STABLE_VERSION = '3.7.1'; - LATEST_DEV_VERSION = '3.7.2-dev.12'; + LATEST_DEV_VERSION = '3.7.2-dev.9'; VERSION_IS_UPGRADEABLE = false; break; case 2: @@ -54,6 +101,39 @@ switch (version_test as number) { break; } +// set the version +system_status.emsesp_version = THIS_VERSION; + +const emulate_esp = "ESP32S3"; +// const emulate_esp = 'ESP32'; + +switch (emulate_esp as string) { + // ESP32 4MB + case 'ESP32': + system_status.esp_platform = 'ESP32'; + system_status.cpu_type = 'ESP32'; + system_status.arduino_version = 'Tasmota Arduino v2.0.17'; + system_status.sdk_version = 'v4.4.7'; + system_status.psram = false; + system_status.psram_size = 0; + system_status.free_psram = 0; + break; + + // ESP32S3 + case 'ESP32S3': + default: + system_status.esp_platform = 'ESP32S3'; + system_status.cpu_type = 'ESP32-S3'; + system_status.arduino_version = 'ESP32 Arduino v2.0.18'; + system_status.sdk_version = 'v4.4.7'; + system_status.psram = true; + system_status.psram_size = 8189; + system_status.free_psram = 8166; + break; +} + +// simulate different ESP32 chips + // GLOBAL VARIABLES let countWifiScanPoll = 0; // wifi network scan let countHardwarePoll = 0; // for during an upload @@ -507,51 +587,6 @@ const VERIFY_AUTHORIZATION_ENDPOINT = REST_ENDPOINT_ROOT + 'verifyAuthorization' const SIGN_IN_ENDPOINT = REST_ENDPOINT_ROOT + 'signIn'; const GENERATE_TOKEN_ENDPOINT = REST_ENDPOINT_ROOT + 'generateToken'; -let system_status = { - emsesp_version: THIS_VERSION, - bus_status: 0, - // status: 2, - uptime: 77186, - bus_uptime: 77121, - num_devices: 2, - num_sensors: 1, - num_analogs: 1, - free_heap: 143, - ntp_status: 2, - ntp_time: '2021-04-01T14:25:42Z', - mqtt_status: true, - ap_status: false, - network_status: 3, // wifi connected - // network_status: 10, // ethernet connected - // network_status: 6, // wifi disconnected - wifi_rssi: -41, - esp_platform: 'ESP32S3', - build_flags: 'DEMO', - cpu_type: 'ESP32-S3', - cpu_rev: 0, - cpu_cores: 2, - cpu_freq_mhz: 240, - max_alloc_heap: 191, - arduino_version: 'ESP32 Arduino v2.0.17', - sdk_version: 'v4.4.7-dirty', - partition: 'app0', - flash_chip_size: 16384, - flash_chip_speed: 80000000, - app_used: 2258, - app_free: 3438, - fs_used: 24, - fs_free: 2024, - free_caps: 8376, - // psram: false, - psram: true, - psram_size: 8189, - free_psram: 8166, - has_loader: true, - model: '', - // model: 'BBQKees Electronics EMS Gateway E32 V2 (E32 V2.0 P3/2024011)', - status: 'downloading' -}; - let security_settings = { jwt_secret: 'naughty!', users: [ From 153dd19fc6b0fe8ed04b13409eaed0512182c35b Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 19:02:15 +0100 Subject: [PATCH 16/25] don't auto-install if on Tasmota --- interface/src/app/settings/Version.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/interface/src/app/settings/Version.tsx b/interface/src/app/settings/Version.tsx index 0f4067105..ac459fc23 100644 --- a/interface/src/app/settings/Version.tsx +++ b/interface/src/app/settings/Version.tsx @@ -60,8 +60,10 @@ const Version = () => { send: loadData, error } = useRequest(SystemApi.readSystemStatus).onSuccess((event) => { - // older version of EMS-ESP didn't have the psram set, so we can't do an OTA upgrade - setDownloadOnly(event.data.psram === undefined); + // older version of EMS-ESP on 4MB boards, can't use OTA because of SSL support in HttpClient + if (event.data.arduino_version.startsWith('Tasmota')) { + setDownloadOnly(true); + } setUsingDevVersion(event.data.emsesp_version.includes('dev')); }); @@ -252,7 +254,12 @@ const Version = () => { Platform - {getPlatform()} + + {getPlatform()} + +   ({data.psram ? '+PSRAM' : '-PSRAM'}) + + From d371c9bc821b06024cf4d059aff2f5fff134ad8c Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 21:06:47 +0100 Subject: [PATCH 17/25] auto-formatting --- src/devices/thermostat.h | 4 ++-- src/web/WebModulesService.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/devices/thermostat.h b/src/devices/thermostat.h index a0bc6dff0..38142b6bd 100644 --- a/src/devices/thermostat.h +++ b/src/devices/thermostat.h @@ -109,8 +109,8 @@ class Thermostat : public EMSdevice { uint8_t instantstart; // 1-10K uint8_t boost; uint8_t boosttime; // hours - int8_t currSolarInfl; - int8_t solarInfl; + int8_t currSolarInfl; + int8_t solarInfl; uint8_t hc_num() const { return hc_num_; diff --git a/src/web/WebModulesService.cpp b/src/web/WebModulesService.cpp index a85b23d13..cb3f4d84a 100644 --- a/src/web/WebModulesService.cpp +++ b/src/web/WebModulesService.cpp @@ -51,12 +51,12 @@ void WebModulesService::loop() { // and also calls when the Modules web page is refreshed/loaded void WebModules::read(WebModules & webModules, JsonObject root) { JsonDocument doc_modules; - auto root_modules = doc_modules.to(); + auto root_modules = doc_modules.to(); moduleLibrary.list(root_modules); // get list the external library modules, put in a json object - auto modules_new = root["modules"].to(); - auto modules = root_modules["modules"].as(); - uint8_t counter = 0; + auto modules_new = root["modules"].to(); + auto modules = root_modules["modules"].as(); + uint8_t counter = 0; for (const JsonObject module : modules) { JsonObject mi = modules_new.add(); mi["id"] = counter++; // id is only used to render the table and must be unique From 566987310154d3b95a53b780ddb66632ac6baccc Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 Jan 2025 21:11:03 +0100 Subject: [PATCH 18/25] don't echo wifi password after setting it --- src/core/system.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/core/system.cpp b/src/core/system.cpp index 1e583304b..93ba984b6 100644 --- a/src/core/system.cpp +++ b/src/core/system.cpp @@ -320,8 +320,7 @@ void System::system_restart(const char * partitionname) { void System::wifi_reconnect() { EMSESP::esp32React.getNetworkSettingsService()->read( [](NetworkSettings & networkSettings) { LOG_INFO("WiFi reconnecting to SSID '%s'...", networkSettings.ssid.c_str()); }); - Shell::loop_all(); - delay(1000); // wait a second + delay(500); // wait EMSESP::webSettingsService.save(); // save local settings EMSESP::esp32React.getNetworkSettingsService()->callUpdateHandlers(); // in case we've changed ssid or password } From eeb071afc6d01a8e5e025b674f1a89d34a7c0f55 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 12 Jan 2025 08:57:53 +0100 Subject: [PATCH 19/25] 3.7.2-dev.10 --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 22b113617..8dc02cafc 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.2-dev.9" +#define EMSESP_APP_VERSION "3.7.2-dev.10" From b5fea921e6b858e69e28bf122a101e31f7c1438d Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 12 Jan 2025 11:49:27 +0100 Subject: [PATCH 20/25] grey out modbus with explanation if no psram --- interface/src/app/settings/ApplicationSettings.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/interface/src/app/settings/ApplicationSettings.tsx b/interface/src/app/settings/ApplicationSettings.tsx index 0abf36959..aafecb4c9 100644 --- a/interface/src/app/settings/ApplicationSettings.tsx +++ b/interface/src/app/settings/ApplicationSettings.tsx @@ -9,12 +9,12 @@ import { Button, Checkbox, Divider, + Grid2 as Grid, InputAdornment, MenuItem, TextField, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { readSystemStatus } from 'api/system'; @@ -204,7 +204,16 @@ const ApplicationSettings = () => { disabled={!hardwareData.psram} /> } - label={LL.ENABLE_MODBUS()} + label={ + + {LL.ENABLE_MODBUS()} + {!hardwareData.psram && ( + +   (PSRAM required) + + )} + + } /> {data.modbus_enabled && ( From 67c59c9b4bd5f59ce50dcf41400cabee8b3f627a Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 12 Jan 2025 11:49:52 +0100 Subject: [PATCH 21/25] modify settings based on board type --- mock-api/rest_server.ts | 113 ++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 56 deletions(-) diff --git a/mock-api/rest_server.ts b/mock-api/rest_server.ts index 5f018137a..41c2360e1 100644 --- a/mock-api/rest_server.ts +++ b/mock-api/rest_server.ts @@ -14,6 +14,59 @@ const headers = { 'Content-type': 'application/msgpack' }; +// EMS-ESP Application Settings +let settings = { + locale: 'en', + tx_mode: 1, + ems_bus_id: 11, + syslog_enabled: false, + syslog_level: 3, + trace_raw: false, + syslog_mark_interval: 0, + syslog_host: '192.168.1.8', + 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, + low_clock: false, + telnet_enabled: true, + notoken_api: false, + readonly_mode: false, + analog_enabled: true, + pbutton_gpio: 34, + solar_maxflow: 30, + board_profile: 'E32V2', + fahrenheit: false, + bool_format: 1, + bool_dashboard: 1, + enum_format: 1, + weblog_level: 6, + weblog_buffer: 50, + weblog_compact: true, + phy_type: 1, + eth_power: 15, + eth_phy_addr: 0, + eth_clock_mode: 1, + platform: 'ESP32', + modbus_enabled: false, + modbus_port: 502, + modbus_max_clients: 10, + modbus_timeout: 10000, + developer_mode: true +}; + +// EMS-ESP System Settings let system_status = { emsesp_version: 'XX.XX.XX', // defined later bus_status: 0, @@ -117,6 +170,8 @@ switch (emulate_esp as string) { system_status.psram = false; system_status.psram_size = 0; system_status.free_psram = 0; + settings.board_profile = 'E32V2'; + settings.platform = 'ESP32'; break; // ESP32S3 @@ -129,6 +184,8 @@ switch (emulate_esp as string) { system_status.psram = true; system_status.psram_size = 8189; system_status.free_psram = 8166; + settings.board_profile = 'S3'; + settings.platform = 'ESP32S3'; break; } @@ -332,60 +389,6 @@ function check_upgrade(version: string) { return data; } -// START DATA - -// EMS-ESP Application Settings -let settings = { - locale: 'en', - tx_mode: 1, - ems_bus_id: 11, - syslog_enabled: false, - syslog_level: 3, - trace_raw: false, - syslog_mark_interval: 0, - syslog_host: '192.168.1.8', - 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, - low_clock: false, - telnet_enabled: true, - notoken_api: false, - readonly_mode: false, - analog_enabled: true, - pbutton_gpio: 34, - solar_maxflow: 30, - board_profile: 'E32V2', - fahrenheit: false, - bool_format: 1, - bool_dashboard: 1, - enum_format: 1, - weblog_level: 6, - weblog_buffer: 50, - weblog_compact: true, - phy_type: 1, - eth_power: 15, - eth_phy_addr: 0, - eth_clock_mode: 1, - platform: 'ESP32', - modbus_enabled: false, - modbus_port: 502, - modbus_max_clients: 10, - modbus_timeout: 10000, - developer_mode: true -}; - // LOG const LOG_SETTINGS_ENDPOINT = REST_ENDPOINT_ROOT + 'logSettings'; let log_settings = { @@ -4265,8 +4268,6 @@ const emsesp_deviceentities_7 = [ { v: 102151, n: 'dhw active time', id: 'dhw/workm', m: 0, w: false } ]; -// END DATA - // LOG router .get(LOG_SETTINGS_ENDPOINT, () => log_settings) From 9b7fed4d1fc3ac3ed178bc5cf996c4edece0a8ab Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 12 Jan 2025 11:50:05 +0100 Subject: [PATCH 22/25] tidy up imports --- interface/src/CustomTheme.tsx | 8 ++------ interface/src/app/main/CustomEntitiesDialog.tsx | 2 +- interface/src/app/main/Customizations.tsx | 2 +- interface/src/app/main/CustomizationsDialog.tsx | 2 +- interface/src/app/main/Dashboard.tsx | 2 +- interface/src/app/main/Devices.tsx | 2 +- interface/src/app/main/DevicesDialog.tsx | 2 +- interface/src/app/main/ModulesDialog.tsx | 2 +- interface/src/app/main/SchedulerDialog.tsx | 2 +- interface/src/app/main/SensorsAnalogDialog.tsx | 2 +- interface/src/app/main/SensorsTemperatureDialog.tsx | 2 +- interface/src/app/settings/DownloadUpload.tsx | 3 +-- interface/src/app/settings/MqttSettings.tsx | 2 +- interface/src/app/settings/Version.tsx | 2 +- interface/src/app/status/SystemLog.tsx | 2 +- 15 files changed, 16 insertions(+), 21 deletions(-) diff --git a/interface/src/CustomTheme.tsx b/interface/src/CustomTheme.tsx index b42b7d0cc..579a8d597 100644 --- a/interface/src/CustomTheme.tsx +++ b/interface/src/CustomTheme.tsx @@ -1,11 +1,7 @@ import type { FC } from 'react'; -import { CssBaseline } from '@mui/material'; -import { - ThemeProvider, - createTheme, - responsiveFontSizes -} from '@mui/material/styles'; +import { CssBaseline, ThemeProvider, responsiveFontSizes } from '@mui/material'; +import { createTheme } from '@mui/material/styles'; import type { RequiredChildrenProps } from 'utils'; diff --git a/interface/src/app/main/CustomEntitiesDialog.tsx b/interface/src/app/main/CustomEntitiesDialog.tsx index 0e08c6d14..a821c9fb8 100644 --- a/interface/src/app/main/CustomEntitiesDialog.tsx +++ b/interface/src/app/main/CustomEntitiesDialog.tsx @@ -12,11 +12,11 @@ import { DialogActions, DialogContent, DialogTitle, + Grid2 as Grid, InputAdornment, MenuItem, TextField } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { dialogStyle } from 'CustomTheme'; import type Schema from 'async-validator'; diff --git a/interface/src/app/main/Customizations.tsx b/interface/src/app/main/Customizations.tsx index 119c32032..b8f3aaef0 100644 --- a/interface/src/app/main/Customizations.tsx +++ b/interface/src/app/main/Customizations.tsx @@ -16,6 +16,7 @@ import { DialogActions, DialogContent, DialogTitle, + Grid2 as Grid, InputAdornment, Link, MenuItem, @@ -24,7 +25,6 @@ import { ToggleButtonGroup, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { Body, diff --git a/interface/src/app/main/CustomizationsDialog.tsx b/interface/src/app/main/CustomizationsDialog.tsx index a6936b2d3..60488cbde 100644 --- a/interface/src/app/main/CustomizationsDialog.tsx +++ b/interface/src/app/main/CustomizationsDialog.tsx @@ -10,10 +10,10 @@ import { DialogActions, DialogContent, DialogTitle, + Grid2 as Grid, TextField, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { dialogStyle } from 'CustomTheme'; import { useI18nContext } from 'i18n/i18n-react'; diff --git a/interface/src/app/main/Dashboard.tsx b/interface/src/app/main/Dashboard.tsx index ea174607f..60908ff8e 100644 --- a/interface/src/app/main/Dashboard.tsx +++ b/interface/src/app/main/Dashboard.tsx @@ -10,13 +10,13 @@ import UnfoldLessIcon from '@mui/icons-material/UnfoldLess'; import UnfoldMoreIcon from '@mui/icons-material/UnfoldMore'; import { Box, + Grid2 as Grid, IconButton, ToggleButton, ToggleButtonGroup, Tooltip, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { Body, Cell, Row, Table } from '@table-library/react-table-library/table'; import { useTheme } from '@table-library/react-table-library/theme'; diff --git a/interface/src/app/main/Devices.tsx b/interface/src/app/main/Devices.tsx index d34625839..62d239fed 100644 --- a/interface/src/app/main/Devices.tsx +++ b/interface/src/app/main/Devices.tsx @@ -30,6 +30,7 @@ import { DialogActions, DialogContent, DialogTitle, + Grid2 as Grid, IconButton, List, ListItem, @@ -40,7 +41,6 @@ import { styled, tooltipClasses } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { useRowSelect } from '@table-library/react-table-library/select'; import { SortToggleType, useSort } from '@table-library/react-table-library/sort'; diff --git a/interface/src/app/main/DevicesDialog.tsx b/interface/src/app/main/DevicesDialog.tsx index 7e0389426..21789a33d 100644 --- a/interface/src/app/main/DevicesDialog.tsx +++ b/interface/src/app/main/DevicesDialog.tsx @@ -11,12 +11,12 @@ import { DialogContent, DialogTitle, FormHelperText, + Grid2 as Grid, InputAdornment, MenuItem, TextField, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { dialogStyle } from 'CustomTheme'; import type Schema from 'async-validator'; diff --git a/interface/src/app/main/ModulesDialog.tsx b/interface/src/app/main/ModulesDialog.tsx index e045c69f7..9ba069c89 100644 --- a/interface/src/app/main/ModulesDialog.tsx +++ b/interface/src/app/main/ModulesDialog.tsx @@ -10,9 +10,9 @@ import { DialogActions, DialogContent, DialogTitle, + Grid2 as Grid, TextField } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { dialogStyle } from 'CustomTheme'; import { BlockFormControlLabel } from 'components'; diff --git a/interface/src/app/main/SchedulerDialog.tsx b/interface/src/app/main/SchedulerDialog.tsx index b29789e4c..c647ffc6e 100644 --- a/interface/src/app/main/SchedulerDialog.tsx +++ b/interface/src/app/main/SchedulerDialog.tsx @@ -13,12 +13,12 @@ import { DialogActions, DialogContent, DialogTitle, + Grid2 as Grid, TextField, ToggleButton, ToggleButtonGroup, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { dialogStyle } from 'CustomTheme'; import type Schema from 'async-validator'; diff --git a/interface/src/app/main/SensorsAnalogDialog.tsx b/interface/src/app/main/SensorsAnalogDialog.tsx index 420c790bc..274b4eb6a 100644 --- a/interface/src/app/main/SensorsAnalogDialog.tsx +++ b/interface/src/app/main/SensorsAnalogDialog.tsx @@ -10,12 +10,12 @@ import { DialogActions, DialogContent, DialogTitle, + Grid2 as Grid, InputAdornment, MenuItem, TextField, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { dialogStyle } from 'CustomTheme'; import type Schema from 'async-validator'; diff --git a/interface/src/app/main/SensorsTemperatureDialog.tsx b/interface/src/app/main/SensorsTemperatureDialog.tsx index 71bfa4fc1..63733113a 100644 --- a/interface/src/app/main/SensorsTemperatureDialog.tsx +++ b/interface/src/app/main/SensorsTemperatureDialog.tsx @@ -9,11 +9,11 @@ import { DialogActions, DialogContent, DialogTitle, + Grid2 as Grid, InputAdornment, TextField, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { dialogStyle } from 'CustomTheme'; import type Schema from 'async-validator'; diff --git a/interface/src/app/settings/DownloadUpload.tsx b/interface/src/app/settings/DownloadUpload.tsx index 15a915f23..7bb1d8dca 100644 --- a/interface/src/app/settings/DownloadUpload.tsx +++ b/interface/src/app/settings/DownloadUpload.tsx @@ -2,8 +2,7 @@ import { useState } from 'react'; import { toast } from 'react-toastify'; import DownloadIcon from '@mui/icons-material/GetApp'; -import { Box, Button, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; +import { Box, Button, Grid2 as Grid, Typography } from '@mui/material'; import * as SystemApi from 'api/system'; import { API, callAction } from 'api/app'; diff --git a/interface/src/app/settings/MqttSettings.tsx b/interface/src/app/settings/MqttSettings.tsx index 66f653861..a03f139b9 100644 --- a/interface/src/app/settings/MqttSettings.tsx +++ b/interface/src/app/settings/MqttSettings.tsx @@ -5,12 +5,12 @@ import WarningIcon from '@mui/icons-material/Warning'; import { Button, Checkbox, + Grid2 as Grid, InputAdornment, MenuItem, TextField, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import * as MqttApi from 'api/mqtt'; diff --git a/interface/src/app/settings/Version.tsx b/interface/src/app/settings/Version.tsx index ac459fc23..c17804e50 100644 --- a/interface/src/app/settings/Version.tsx +++ b/interface/src/app/settings/Version.tsx @@ -13,10 +13,10 @@ import { DialogActions, DialogContent, DialogTitle, + Grid2 as Grid, Link, Typography } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import * as SystemApi from 'api/system'; import { callAction } from 'api/app'; diff --git a/interface/src/app/status/SystemLog.tsx b/interface/src/app/status/SystemLog.tsx index 743ee3176..3c5a0bb58 100644 --- a/interface/src/app/status/SystemLog.tsx +++ b/interface/src/app/status/SystemLog.tsx @@ -8,12 +8,12 @@ import { Box, Button, Checkbox, + Grid2 as Grid, IconButton, MenuItem, TextField, styled } from '@mui/material'; -import Grid from '@mui/material/Grid2'; import { API } from 'api/app'; import { fetchLogES, readLogSettings, updateLogSettings } from 'api/system'; From 2323fdfe5657c9d09368127495b09265db921580 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 12 Jan 2025 11:57:53 +0100 Subject: [PATCH 23/25] update packages --- interface/package.json | 4 ++-- interface/yarn.lock | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/interface/package.json b/interface/package.json index c22e055da..a74ec2056 100644 --- a/interface/package.json +++ b/interface/package.json @@ -48,8 +48,8 @@ "@trivago/prettier-plugin-sort-imports": "^5.2.1", "@types/formidable": "^3", "@types/node": "^22.10.5", - "@types/react": "^19.0.4", - "@types/react-dom": "^19.0.2", + "@types/react": "^19.0.5", + "@types/react-dom": "^19.0.3", "concurrently": "^9.1.2", "eslint": "^9.18.0", "eslint-config-prettier": "^9.1.0", diff --git a/interface/yarn.lock b/interface/yarn.lock index 474daeb8b..12a609548 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1426,12 +1426,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^19.0.2": - version: 19.0.2 - resolution: "@types/react-dom@npm:19.0.2" +"@types/react-dom@npm:^19.0.3": + version: 19.0.3 + resolution: "@types/react-dom@npm:19.0.3" peerDependencies: "@types/react": ^19.0.0 - checksum: 10c0/3d0c7b78dbe8df64ea769f30af990a5950173a8321c745fe11094d765423f7964c3519dca6e7cd36b4be6521c8efc690bdd3b79b327b229dd1e9d5a8bad677dd + checksum: 10c0/3867427b333cbe8cbba496d7cc20ec9676d32c25ae44f4d1263a4129d42e57cf4adf0039ad263432f1215b88075c27d326e7eb4ed646128235d01a76e661d48f languageName: node linkType: hard @@ -1444,12 +1444,12 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^19.0.4": - version: 19.0.4 - resolution: "@types/react@npm:19.0.4" +"@types/react@npm:^19.0.5": + version: 19.0.5 + resolution: "@types/react@npm:19.0.5" dependencies: csstype: "npm:^3.0.2" - checksum: 10c0/96ecd1a73af57fd7b7facf5b36ec069b131c7608a98a0f1098183023bfb21c60a26a0dc09004fbe0ac70c436ef887bbec5690882cfb77c6e0c679f7e45987722 + checksum: 10c0/6f3a25c826e8b274cf26b25ef7bd4a97aaa4d7b30a0ea529bf252c6f0387d74f44940dea55cfcac75829bee53cd4c82fdb41653b978954a08036d2812a0ae6d6 languageName: node linkType: hard @@ -1600,8 +1600,8 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^5.2.1" "@types/formidable": "npm:^3" "@types/node": "npm:^22.10.5" - "@types/react": "npm:^19.0.4" - "@types/react-dom": "npm:^19.0.2" + "@types/react": "npm:^19.0.5" + "@types/react-dom": "npm:^19.0.3" alova: "npm:3.2.7" async-validator: "npm:^4.2.5" concurrently: "npm:^9.1.2" From b60f333edbe37de1b5897f5f83298e03f3f09c69 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 12 Jan 2025 11:58:03 +0100 Subject: [PATCH 24/25] use translation for is_required --- interface/src/app/settings/ApplicationSettings.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/app/settings/ApplicationSettings.tsx b/interface/src/app/settings/ApplicationSettings.tsx index aafecb4c9..871d15e28 100644 --- a/interface/src/app/settings/ApplicationSettings.tsx +++ b/interface/src/app/settings/ApplicationSettings.tsx @@ -209,7 +209,7 @@ const ApplicationSettings = () => { {LL.ENABLE_MODBUS()} {!hardwareData.psram && ( -   (PSRAM required) +   ({LL.IS_REQUIRED('PSRAM')}) )} From 525a164c6941cf522cc9d107209e2ac9d01338a5 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 12 Jan 2025 12:09:36 +0100 Subject: [PATCH 25/25] include temp as HA sensor - #2346 --- src/core/mqtt.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/core/mqtt.cpp b/src/core/mqtt.cpp index 4dcd38ec5..04b21244a 100644 --- a/src/core/mqtt.cpp +++ b/src/core/mqtt.cpp @@ -559,8 +559,8 @@ void Mqtt::ha_status() { snprintf(topic, sizeof(topic), "binary_sensor/%s/system_status/config", mqtt_basename_.c_str()); Mqtt::queue_ha(topic, doc.as()); // publish the config payload with retain flag -// create the sensors - must match the MQTT payload keys -// these are all from the heartbeat MQTT topic +// create the HA sensors - must match the MQTT payload keys in the heartbeat topic +// Note we don't use camelCase as it would change the HA entity_id and impact historic data #ifndef EMSESP_STANDALONE if (!EMSESP::system_.ethernet_connected() || WiFi.isConnected()) { publish_system_ha_sensor_config(DeviceValueType::INT8, "WiFi RSSI", "rssi", DeviceValueUOM::DBM); @@ -568,23 +568,26 @@ void Mqtt::ha_status() { } #endif - // These come from the heartbeat MQTT topic - // we don't use camelCase as it would change the HA entity_id and impact historic data publish_system_ha_sensor_config(DeviceValueType::STRING, "EMS Bus", "bus_status", DeviceValueUOM::NONE); publish_system_ha_sensor_config(DeviceValueType::STRING, "Uptime", "uptime", DeviceValueUOM::NONE); publish_system_ha_sensor_config(DeviceValueType::INT8, "Uptime (sec)", "uptime_sec", DeviceValueUOM::SECONDS); publish_system_ha_sensor_config(DeviceValueType::INT8, "Free memory", "freemem", DeviceValueUOM::KB); - publish_system_ha_sensor_config(DeviceValueType::INT8, "Max Alloc", "max_alloc", DeviceValueUOM::KB); + publish_system_ha_sensor_config(DeviceValueType::INT8, "Max alloc", "max_alloc", DeviceValueUOM::KB); publish_system_ha_sensor_config(DeviceValueType::INT8, "MQTT fails", "mqttfails", DeviceValueUOM::NONE); publish_system_ha_sensor_config(DeviceValueType::INT8, "Rx received", "rxreceived", DeviceValueUOM::NONE); publish_system_ha_sensor_config(DeviceValueType::INT8, "Rx fails", "rxfails", DeviceValueUOM::NONE); publish_system_ha_sensor_config(DeviceValueType::INT8, "Tx reads", "txreads", DeviceValueUOM::NONE); publish_system_ha_sensor_config(DeviceValueType::INT8, "Tx writes", "txwrites", DeviceValueUOM::NONE); publish_system_ha_sensor_config(DeviceValueType::INT8, "Tx fails", "txfails", DeviceValueUOM::NONE); + +#if CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S2 + publish_system_ha_sensor_config(DeviceValueType::INT8, "CPU temperature", "temperature", DeviceValueUOM::DEGREES); +#endif + if (!EMSESP::system_.ethernet_connected()) { publish_system_ha_sensor_config(DeviceValueType::INT16, "WiFi reconnects", "wifireconnects", DeviceValueUOM::NONE); } - // This comes from the info MQTT topic - and handled in the publish_ha_sensor_config function + // This one comes from the info MQTT topic - and handled in the publish_ha_sensor_config function publish_system_ha_sensor_config(DeviceValueType::STRING, "Version", "version", DeviceValueUOM::NONE); }