9 Commits

Author SHA1 Message Date
Proddy
64058b0f61 Merge pull request #2792 from proddy/dev
small updates
2025-12-04 20:32:21 +01:00
proddy
d7b5c81b0e package update 2025-12-04 20:29:20 +01:00
proddy
02e8dba971 fix max size to 32MB 2025-12-03 22:16:39 +01:00
proddy
59878fb190 remove vscode settings and package.json 2025-12-03 22:11:44 +01:00
proddy
9ff0f83af9 remove obsolete double auto-commit 2025-12-03 22:06:06 +01:00
proddy
e6f825371e fix make for Windows 2025-12-03 22:05:45 +01:00
proddy
45f3f23033 package update 2025-12-03 21:53:33 +01:00
proddy
ffd27db208 show elapsed time 2025-12-03 21:53:26 +01:00
proddy
a452d6131b DiffTemp ranged to 4-15 K - fix #2783 2025-12-03 21:53:16 +01:00
11 changed files with 179 additions and 194 deletions

View File

@@ -64,29 +64,7 @@ jobs:
- name: Commit the generated files
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "chore: update generated files"
- name: Configure Git
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
- name: Check for changes and commit
run: |
if [ -n "$(git status --porcelain)" ]; then
echo "Changes detected, committing..."
git add .
git commit -m "Auto-commit build artifacts and configuration updates
- Updated build configurations
- Generated build artifacts
- Version: ${{steps.build_info.outputs.VERSION}}"
echo "Pushing changes to repository..."
git push origin dev
else
echo "No changes to commit"
fi
commit_message: "chore: update generated files for v${{steps.build_info.outputs.VERSION}}"
- name: Create GitHub Release
id: 'automatic_releases'

2
.gitignore vendored
View File

@@ -2,7 +2,6 @@
.vscode/c_cpp_properties.json
.vscode/extensions.json
.vscode/launch.json
.vscode/settings.json
# c++ compiling
.clang_complete
@@ -73,7 +72,6 @@ logs/*
sdkconfig.*
sdkconfig_tasmota_esp32
pnpm-lock.yaml
package.json
.cache/
interface/.tsbuildinfo
test/test_api/package-lock.json

View File

@@ -21,13 +21,14 @@ endif
# Optimize parallel build configuration
UNAME_S := $(shell uname -s)
JOBS ?= 1
ifeq ($(UNAME_S),Linux)
EXTRA_CPPFLAGS = -D LINUX
JOBS ?= $(shell nproc)
JOBS := $(shell nproc)
endif
ifeq ($(UNAME_S),Darwin)
EXTRA_CPPFLAGS = -D OSX -Wno-tautological-constant-out-of-range-compare
JOBS ?= $(shell sysctl -n hw.ncpu)
JOBS := $(shell sysctl -n hw.ncpu)
endif
# Set optimal parallel build settings

View File

@@ -25,7 +25,7 @@
"upload": {
"flash_size": "32MB",
"maximum_ram_size": 327680,
"maximum_size": 16777216,
"maximum_size": 33554432,
"require_upload_port": true,
"speed": 460800
},

View File

@@ -26,8 +26,8 @@
"@alova/adapter-xhr": "2.3.0",
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.1",
"@mui/icons-material": "^7.3.5",
"@mui/material": "^7.3.5",
"@mui/icons-material": "^7.3.6",
"@mui/material": "^7.3.6",
"@preact/compat": "^18.3.1",
"@table-library/react-table-library": "4.1.15",
"alova": "3.4.0",
@@ -38,10 +38,10 @@
"magic-string": "^0.30.21",
"mime-types": "^3.0.2",
"preact": "^10.28.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"react": "^19.2.1",
"react-dom": "^19.2.1",
"react-icons": "^5.5.0",
"react-router": "^7.10.0",
"react-router": "^7.10.1",
"react-toastify": "^11.0.5",
"typesafe-i18n": "^5.26.2",
"typescript": "^5.9.3"
@@ -59,7 +59,7 @@
"concurrently": "^9.2.1",
"eslint": "^9.39.1",
"eslint-config-prettier": "^10.1.8",
"prettier": "^3.7.3",
"prettier": "^3.7.4",
"rollup-plugin-visualizer": "^6.0.5",
"terser": "^5.44.1",
"typescript-eslint": "^8.48.1",

284
interface/pnpm-lock.yaml generated
View File

@@ -13,22 +13,22 @@ importers:
version: 2.3.0(alova@3.4.0)
'@emotion/react':
specifier: ^11.14.0
version: 11.14.0(@types/react@19.2.7)(react@19.2.0)
version: 11.14.0(@types/react@19.2.7)(react@19.2.1)
'@emotion/styled':
specifier: ^11.14.1
version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0)
version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1)
'@mui/icons-material':
specifier: ^7.3.5
version: 7.3.5(@mui/material@7.3.5(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@types/react@19.2.7)(react@19.2.0)
specifier: ^7.3.6
version: 7.3.6(@mui/material@7.3.6(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(@types/react@19.2.7)(react@19.2.1)
'@mui/material':
specifier: ^7.3.5
version: 7.3.5(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
specifier: ^7.3.6
version: 7.3.6(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
'@preact/compat':
specifier: ^18.3.1
version: 18.3.1(preact@10.28.0)
'@table-library/react-table-library':
specifier: 4.1.15
version: 4.1.15(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
version: 4.1.15(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
alova:
specifier: 3.4.0
version: 3.4.0
@@ -54,20 +54,20 @@ importers:
specifier: ^10.28.0
version: 10.28.0
react:
specifier: ^19.2.0
version: 19.2.0
specifier: ^19.2.1
version: 19.2.1
react-dom:
specifier: ^19.2.0
version: 19.2.0(react@19.2.0)
specifier: ^19.2.1
version: 19.2.1(react@19.2.1)
react-icons:
specifier: ^5.5.0
version: 5.5.0(react@19.2.0)
version: 5.5.0(react@19.2.1)
react-router:
specifier: ^7.10.0
version: 7.10.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
specifier: ^7.10.1
version: 7.10.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
react-toastify:
specifier: ^11.0.5
version: 11.0.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
version: 11.0.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
typesafe-i18n:
specifier: ^5.26.2
version: 5.26.2(typescript@5.9.3)
@@ -86,7 +86,7 @@ importers:
version: 2.10.2(@babel/core@7.28.5)(preact@10.28.0)(vite@7.2.6(@types/node@24.10.1)(terser@5.44.1))
'@trivago/prettier-plugin-sort-imports':
specifier: ^6.0.0
version: 6.0.0(prettier@3.7.3)
version: 6.0.0(prettier@3.7.4)
'@types/node':
specifier: ^24.10.1
version: 24.10.1
@@ -109,8 +109,8 @@ importers:
specifier: ^10.1.8
version: 10.1.8(eslint@9.39.1)
prettier:
specifier: ^3.7.3
version: 3.7.3
specifier: ^3.7.4
version: 3.7.4
rollup-plugin-visualizer:
specifier: ^6.0.5
version: 6.0.5(rollup@4.53.3)
@@ -534,27 +534,27 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
'@mui/core-downloads-tracker@7.3.5':
resolution: {integrity: sha512-kOLwlcDPnVz2QMhiBv0OQ8le8hTCqKM9cRXlfVPL91l3RGeOsxrIhNRsUt3Xb8wb+pTVUolW+JXKym93vRKxCw==}
'@mui/core-downloads-tracker@7.3.6':
resolution: {integrity: sha512-QaYtTHlr8kDFN5mE1wbvVARRKH7Fdw1ZuOjBJcFdVpfNfRYKF3QLT4rt+WaB6CKJvpqxRsmEo0kpYinhH5GeHg==}
'@mui/icons-material@7.3.5':
resolution: {integrity: sha512-LciL1GLMZ+VlzyHAALSVAR22t8IST4LCXmljcUSx2NOutgO2XnxdIp8ilFbeNf9wpo0iUFbAuoQcB7h+HHIf3A==}
'@mui/icons-material@7.3.6':
resolution: {integrity: sha512-0FfkXEj22ysIq5pa41A2NbcAhJSvmcZQ/vcTIbjDsd6hlslG82k5BEBqqS0ZJprxwIL3B45qpJ+bPHwJPlF7uQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
'@mui/material': ^7.3.5
'@mui/material': ^7.3.6
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
react: ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@types/react':
optional: true
'@mui/material@7.3.5':
resolution: {integrity: sha512-8VVxFmp1GIm9PpmnQoCoYo0UWHoOrdA57tDL62vkpzEgvb/d71Wsbv4FRg7r1Gyx7PuSo0tflH34cdl/NvfHNQ==}
'@mui/material@7.3.6':
resolution: {integrity: sha512-R4DaYF3dgCQCUAkr4wW1w26GHXcf5rCmBRHVBuuvJvaGLmZdD8EjatP80Nz5JCw0KxORAzwftnHzXVnjR8HnFw==}
engines: {node: '>=14.0.0'}
peerDependencies:
'@emotion/react': ^11.5.0
'@emotion/styled': ^11.3.0
'@mui/material-pigment-css': ^7.3.5
'@mui/material-pigment-css': ^7.3.6
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
react: ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -568,8 +568,8 @@ packages:
'@types/react':
optional: true
'@mui/private-theming@7.3.5':
resolution: {integrity: sha512-cTx584W2qrLonwhZLbEN7P5pAUu0nZblg8cLBlTrZQ4sIiw8Fbvg7GvuphQaSHxPxrCpa7FDwJKtXdbl2TSmrA==}
'@mui/private-theming@7.3.6':
resolution: {integrity: sha512-Ws9wZpqM+FlnbZXaY/7yvyvWQo1+02Tbx50mVdNmzWEi51C51y56KAbaDCYyulOOBL6BJxuaqG8rNNuj7ivVyw==}
engines: {node: '>=14.0.0'}
peerDependencies:
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -578,8 +578,8 @@ packages:
'@types/react':
optional: true
'@mui/styled-engine@7.3.5':
resolution: {integrity: sha512-zbsZ0uYYPndFCCPp2+V3RLcAN6+fv4C8pdwRx6OS3BwDkRCN8WBehqks7hWyF3vj1kdQLIWrpdv/5Y0jHRxYXQ==}
'@mui/styled-engine@7.3.6':
resolution: {integrity: sha512-+wiYbtvj+zyUkmDB+ysH6zRjuQIJ+CM56w0fEXV+VDNdvOuSywG+/8kpjddvvlfMLsaWdQe5oTuYGBcodmqGzQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
'@emotion/react': ^11.4.1
@@ -591,8 +591,8 @@ packages:
'@emotion/styled':
optional: true
'@mui/system@7.3.5':
resolution: {integrity: sha512-yPaf5+gY3v80HNkJcPi6WT+r9ebeM4eJzrREXPxMt7pNTV/1eahyODO4fbH3Qvd8irNxDFYn5RQ3idHW55rA6g==}
'@mui/system@7.3.6':
resolution: {integrity: sha512-8fehAazkHNP1imMrdD2m2hbA9sl7Ur6jfuNweh5o4l9YPty4iaZzRXqYvBCWQNwFaSHmMEj2KPbyXGp7Bt73Rg==}
engines: {node: '>=14.0.0'}
peerDependencies:
'@emotion/react': ^11.5.0
@@ -607,16 +607,16 @@ packages:
'@types/react':
optional: true
'@mui/types@7.4.8':
resolution: {integrity: sha512-ZNXLBjkPV6ftLCmmRCafak3XmSn8YV0tKE/ZOhzKys7TZXUiE0mZxlH8zKDo6j6TTUaDnuij68gIG+0Ucm7Xhw==}
'@mui/types@7.4.9':
resolution: {integrity: sha512-dNO8Z9T2cujkSIaCnWwprfeKmTWh97cnjkgmpFJ2sbfXLx8SMZijCYHOtP/y5nnUb/Rm2omxbDMmtUoSaUtKaw==}
peerDependencies:
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@types/react':
optional: true
'@mui/utils@7.3.5':
resolution: {integrity: sha512-jisvFsEC3sgjUjcPnR4mYfhzjCDIudttSGSbe1o/IXFNu0kZuR+7vqQI0jg8qtcVZBHWrwTfvAZj9MNMumcq1g==}
'@mui/utils@7.3.6':
resolution: {integrity: sha512-jn+Ba02O6PiFs7nKva8R2aJJ9kJC+3kQ2R0BbKNY3KQQ36Qng98GnPRFTlbwYTdMD6hLEBKaMLUktyg/rTfd2w==}
engines: {node: '>=14.0.0'}
peerDependencies:
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -1027,8 +1027,8 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
baseline-browser-mapping@2.8.32:
resolution: {integrity: sha512-OPz5aBThlyLFgxyhdwf/s2+8ab3OvT7AdTNvKHBwpXomIYeXqpUUuT8LrdtxZSsWJ4R4CU1un4XGh5Ez3nlTpw==}
baseline-browser-mapping@2.9.2:
resolution: {integrity: sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==}
hasBin: true
bin-build@3.0.0:
@@ -1067,8 +1067,8 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
browserslist@4.28.0:
resolution: {integrity: sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==}
browserslist@4.28.1:
resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
@@ -1117,8 +1117,8 @@ packages:
resolution: {integrity: sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==}
engines: {node: '>=0.10.0'}
caniuse-lite@1.0.30001757:
resolution: {integrity: sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==}
caniuse-lite@1.0.30001759:
resolution: {integrity: sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==}
caw@2.0.1:
resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==}
@@ -1337,8 +1337,8 @@ packages:
duplexer3@0.1.5:
resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==}
electron-to-chromium@1.5.263:
resolution: {integrity: sha512-DrqJ11Knd+lo+dv+lltvfMDLU27g14LMdH2b0O3Pio4uk0x+z7OR+JrmyacTPN2M8w3BrZ7/RTwG3R9B7irPlg==}
electron-to-chromium@1.5.265:
resolution: {integrity: sha512-B7IkLR1/AE+9jR2LtVF/1/6PFhY5TlnEHnlrKmGk7PvkJibg5jr+mLXLLzq3QYl6PA1T/vLDthQPqIPAlS/PPA==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -2478,8 +2478,8 @@ packages:
resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==}
engines: {node: '>=4'}
prettier@3.7.3:
resolution: {integrity: sha512-QgODejq9K3OzoBbuyobZlUhznP5SKwPqp+6Q6xw6o8gnhr4O85L2U915iM2IDcfF2NPXVaM9zlo9tdwipnYwzg==}
prettier@3.7.4:
resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==}
engines: {node: '>=14'}
hasBin: true
@@ -2512,10 +2512,10 @@ packages:
rate-limiter-flexible@5.0.5:
resolution: {integrity: sha512-+/dSQfo+3FYwYygUs/V2BBdwGa9nFtakDwKt4l0bnvNB53TNT++QSFewwHX9qXrZJuMe9j+TUaU21lm5ARgqdQ==}
react-dom@19.2.0:
resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==}
react-dom@19.2.1:
resolution: {integrity: sha512-ibrK8llX2a4eOskq1mXKu/TGZj9qzomO+sNfO98M6d9zIPOEhlBkMkBUBLd1vgS0gQsLDBzA+8jJBVXDnfHmJg==}
peerDependencies:
react: ^19.2.0
react: ^19.2.1
react-icons@5.5.0:
resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==}
@@ -2525,11 +2525,11 @@ packages:
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
react-is@19.2.0:
resolution: {integrity: sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==}
react-is@19.2.1:
resolution: {integrity: sha512-L7BnWgRbMwzMAubQcS7sXdPdNLmKlucPlopgAzx7FtYbksWZgEWiuYM5x9T6UqS2Ne0rsgQTq5kY2SGqpzUkYA==}
react-router@7.10.0:
resolution: {integrity: sha512-FVyCOH4IZ0eDDRycODfUqoN8ZSR2LbTvtx6RPsBgzvJ8xAXlMZNCrOFpu+jb8QbtZnpAd/cEki2pwE848pNGxw==}
react-router@7.10.1:
resolution: {integrity: sha512-gHL89dRa3kwlUYtRQ+m8NmxGI6CgqN+k4XyGjwcFoQwwCWF6xXpOCUlDovkXClS0d0XJN/5q7kc5W3kiFEd0Yw==}
engines: {node: '>=20.0.0'}
peerDependencies:
react: '>=18'
@@ -2563,8 +2563,8 @@ packages:
react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react@19.2.0:
resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==}
react@19.2.1:
resolution: {integrity: sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==}
engines: {node: '>=0.10.0'}
read-pkg-up@1.0.1:
@@ -2949,8 +2949,8 @@ packages:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
update-browserslist-db@1.1.4:
resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==}
update-browserslist-db@1.2.2:
resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -3149,7 +3149,7 @@ snapshots:
dependencies:
'@babel/compat-data': 7.28.5
'@babel/helper-validator-option': 7.27.1
browserslist: 4.28.0
browserslist: 4.28.1
lru-cache: 5.1.1
semver: 6.3.1
@@ -3268,17 +3268,17 @@ snapshots:
'@emotion/memoize@0.9.0': {}
'@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0)':
'@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1)':
dependencies:
'@babel/runtime': 7.28.4
'@emotion/babel-plugin': 11.13.5
'@emotion/cache': 11.14.0
'@emotion/serialize': 1.3.3
'@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.0)
'@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.1)
'@emotion/utils': 1.4.2
'@emotion/weak-memoize': 0.4.0
hoist-non-react-statics: 3.3.2
react: 19.2.0
react: 19.2.1
optionalDependencies:
'@types/react': 19.2.7
transitivePeerDependencies:
@@ -3294,16 +3294,16 @@ snapshots:
'@emotion/sheet@1.4.0': {}
'@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0)':
'@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1)':
dependencies:
'@babel/runtime': 7.28.4
'@emotion/babel-plugin': 11.13.5
'@emotion/is-prop-valid': 1.4.0
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.0)
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.1)
'@emotion/serialize': 1.3.3
'@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.0)
'@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.1)
'@emotion/utils': 1.4.2
react: 19.2.0
react: 19.2.1
optionalDependencies:
'@types/react': 19.2.7
transitivePeerDependencies:
@@ -3311,9 +3311,9 @@ snapshots:
'@emotion/unitless@0.10.0': {}
'@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.0)':
'@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.1)':
dependencies:
react: 19.2.0
react: 19.2.1
'@emotion/utils@1.4.2': {}
@@ -3487,47 +3487,47 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
'@mui/core-downloads-tracker@7.3.5': {}
'@mui/core-downloads-tracker@7.3.6': {}
'@mui/icons-material@7.3.5(@mui/material@7.3.5(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@types/react@19.2.7)(react@19.2.0)':
'@mui/icons-material@7.3.6(@mui/material@7.3.6(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(@types/react@19.2.7)(react@19.2.1)':
dependencies:
'@babel/runtime': 7.28.4
'@mui/material': 7.3.5(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.0
'@mui/material': 7.3.6(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
react: 19.2.1
optionalDependencies:
'@types/react': 19.2.7
'@mui/material@7.3.5(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
'@mui/material@7.3.6(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
dependencies:
'@babel/runtime': 7.28.4
'@mui/core-downloads-tracker': 7.3.5
'@mui/system': 7.3.5(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0)
'@mui/types': 7.4.8(@types/react@19.2.7)
'@mui/utils': 7.3.5(@types/react@19.2.7)(react@19.2.0)
'@mui/core-downloads-tracker': 7.3.6
'@mui/system': 7.3.6(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1)
'@mui/types': 7.4.9(@types/react@19.2.7)
'@mui/utils': 7.3.6(@types/react@19.2.7)(react@19.2.1)
'@popperjs/core': 2.11.8
'@types/react-transition-group': 4.4.12(@types/react@19.2.7)
clsx: 2.1.1
csstype: 3.2.3
prop-types: 15.8.1
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
react-is: 19.2.0
react-transition-group: 4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.1
react-dom: 19.2.1(react@19.2.1)
react-is: 19.2.1
react-transition-group: 4.4.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
optionalDependencies:
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.0)
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0)
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.1)
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1)
'@types/react': 19.2.7
'@mui/private-theming@7.3.5(@types/react@19.2.7)(react@19.2.0)':
'@mui/private-theming@7.3.6(@types/react@19.2.7)(react@19.2.1)':
dependencies:
'@babel/runtime': 7.28.4
'@mui/utils': 7.3.5(@types/react@19.2.7)(react@19.2.0)
'@mui/utils': 7.3.6(@types/react@19.2.7)(react@19.2.1)
prop-types: 15.8.1
react: 19.2.0
react: 19.2.1
optionalDependencies:
'@types/react': 19.2.7
'@mui/styled-engine@7.3.5(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0))(react@19.2.0)':
'@mui/styled-engine@7.3.6(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1))(react@19.2.1)':
dependencies:
'@babel/runtime': 7.28.4
'@emotion/cache': 11.14.0
@@ -3535,42 +3535,42 @@ snapshots:
'@emotion/sheet': 1.4.0
csstype: 3.2.3
prop-types: 15.8.1
react: 19.2.0
react: 19.2.1
optionalDependencies:
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.0)
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0)
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.1)
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1)
'@mui/system@7.3.5(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0)':
'@mui/system@7.3.6(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1)':
dependencies:
'@babel/runtime': 7.28.4
'@mui/private-theming': 7.3.5(@types/react@19.2.7)(react@19.2.0)
'@mui/styled-engine': 7.3.5(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0))(react@19.2.0)
'@mui/types': 7.4.8(@types/react@19.2.7)
'@mui/utils': 7.3.5(@types/react@19.2.7)(react@19.2.0)
'@mui/private-theming': 7.3.6(@types/react@19.2.7)(react@19.2.1)
'@mui/styled-engine': 7.3.6(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1))(react@19.2.1)
'@mui/types': 7.4.9(@types/react@19.2.7)
'@mui/utils': 7.3.6(@types/react@19.2.7)(react@19.2.1)
clsx: 2.1.1
csstype: 3.2.3
prop-types: 15.8.1
react: 19.2.0
react: 19.2.1
optionalDependencies:
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.0)
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(react@19.2.0)
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.1)
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react@19.2.1)
'@types/react': 19.2.7
'@mui/types@7.4.8(@types/react@19.2.7)':
'@mui/types@7.4.9(@types/react@19.2.7)':
dependencies:
'@babel/runtime': 7.28.4
optionalDependencies:
'@types/react': 19.2.7
'@mui/utils@7.3.5(@types/react@19.2.7)(react@19.2.0)':
'@mui/utils@7.3.6(@types/react@19.2.7)(react@19.2.1)':
dependencies:
'@babel/runtime': 7.28.4
'@mui/types': 7.4.8(@types/react@19.2.7)
'@mui/types': 7.4.9(@types/react@19.2.7)
'@types/prop-types': 15.7.15
clsx: 2.1.1
prop-types: 15.8.1
react: 19.2.0
react-is: 19.2.0
react: 19.2.1
react-is: 19.2.1
optionalDependencies:
'@types/react': 19.2.7
@@ -3707,16 +3707,16 @@ snapshots:
'@sindresorhus/is@0.7.0': {}
'@table-library/react-table-library@4.1.15(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
'@table-library/react-table-library@4.1.15(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
dependencies:
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.0)
'@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.1)
clsx: 1.1.1
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
react-virtualized-auto-sizer: 1.0.26(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react-window: 1.8.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.1
react-dom: 19.2.1(react@19.2.1)
react-virtualized-auto-sizer: 1.0.26(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
react-window: 1.8.11(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
'@trivago/prettier-plugin-sort-imports@6.0.0(prettier@3.7.3)':
'@trivago/prettier-plugin-sort-imports@6.0.0(prettier@3.7.4)':
dependencies:
'@babel/generator': 7.28.5
'@babel/parser': 7.28.5
@@ -3726,7 +3726,7 @@ snapshots:
lodash-es: 4.17.21
minimatch: 9.0.5
parse-imports-exports: 0.2.4
prettier: 3.7.3
prettier: 3.7.4
transitivePeerDependencies:
- supports-color
@@ -3962,7 +3962,7 @@ snapshots:
base64-js@1.5.1: {}
baseline-browser-mapping@2.8.32: {}
baseline-browser-mapping@2.9.2: {}
bin-build@3.0.0:
dependencies:
@@ -4017,13 +4017,13 @@ snapshots:
dependencies:
fill-range: 7.1.1
browserslist@4.28.0:
browserslist@4.28.1:
dependencies:
baseline-browser-mapping: 2.8.32
caniuse-lite: 1.0.30001757
electron-to-chromium: 1.5.263
baseline-browser-mapping: 2.9.2
caniuse-lite: 1.0.30001759
electron-to-chromium: 1.5.265
node-releases: 2.0.27
update-browserslist-db: 1.1.4(browserslist@4.28.0)
update-browserslist-db: 1.2.2(browserslist@4.28.1)
buffer-alloc-unsafe@1.1.0: {}
@@ -4079,7 +4079,7 @@ snapshots:
camelcase@2.1.1: {}
caniuse-lite@1.0.30001757: {}
caniuse-lite@1.0.30001759: {}
caw@2.0.1:
dependencies:
@@ -4366,7 +4366,7 @@ snapshots:
duplexer3@0.1.5: {}
electron-to-chromium@1.5.263: {}
electron-to-chromium@1.5.265: {}
emoji-regex@8.0.0: {}
@@ -5487,7 +5487,7 @@ snapshots:
prepend-http@2.0.0: {}
prettier@3.7.3: {}
prettier@3.7.4: {}
process-nextick-args@2.0.1: {}
@@ -5518,55 +5518,55 @@ snapshots:
rate-limiter-flexible@5.0.5: {}
react-dom@19.2.0(react@19.2.0):
react-dom@19.2.1(react@19.2.1):
dependencies:
react: 19.2.0
react: 19.2.1
scheduler: 0.27.0
react-icons@5.5.0(react@19.2.0):
react-icons@5.5.0(react@19.2.1):
dependencies:
react: 19.2.0
react: 19.2.1
react-is@16.13.1: {}
react-is@19.2.0: {}
react-is@19.2.1: {}
react-router@7.10.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
react-router@7.10.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1):
dependencies:
cookie: 1.1.1
react: 19.2.0
react: 19.2.1
set-cookie-parser: 2.7.2
optionalDependencies:
react-dom: 19.2.0(react@19.2.0)
react-dom: 19.2.1(react@19.2.1)
react-toastify@11.0.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
react-toastify@11.0.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1):
dependencies:
clsx: 2.1.1
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
react: 19.2.1
react-dom: 19.2.1(react@19.2.1)
react-transition-group@4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
react-transition-group@4.4.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1):
dependencies:
'@babel/runtime': 7.28.4
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
react: 19.2.1
react-dom: 19.2.1(react@19.2.1)
react-virtualized-auto-sizer@1.0.26(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
react-virtualized-auto-sizer@1.0.26(react-dom@19.2.1(react@19.2.1))(react@19.2.1):
dependencies:
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
react: 19.2.1
react-dom: 19.2.1(react@19.2.1)
react-window@1.8.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
react-window@1.8.11(react-dom@19.2.1(react@19.2.1))(react@19.2.1):
dependencies:
'@babel/runtime': 7.28.4
memoize-one: 5.2.1
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
react: 19.2.1
react-dom: 19.2.1(react@19.2.1)
react@19.2.0: {}
react@19.2.1: {}
read-pkg-up@1.0.1:
dependencies:
@@ -5940,9 +5940,9 @@ snapshots:
universalify@2.0.1: {}
update-browserslist-db@1.1.4(browserslist@4.28.0):
update-browserslist-db@1.2.2(browserslist@4.28.1):
dependencies:
browserslist: 4.28.0
browserslist: 4.28.1
escalade: 3.2.0
picocolors: 1.1.1

View File

@@ -13,7 +13,7 @@
"@trivago/prettier-plugin-sort-imports": "^6.0.0",
"formidable": "^3.5.4",
"itty-router": "^5.0.22",
"prettier": "^3.7.3"
"prettier": "^3.7.4"
},
"packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a"
}

View File

@@ -13,7 +13,7 @@ importers:
version: 3.1.2
'@trivago/prettier-plugin-sort-imports':
specifier: ^6.0.0
version: 6.0.0(prettier@3.7.3)
version: 6.0.0(prettier@3.7.4)
formidable:
specifier: ^3.5.4
version: 3.5.4
@@ -21,8 +21,8 @@ importers:
specifier: ^5.0.22
version: 5.0.22
prettier:
specifier: ^3.7.3
version: 3.7.3
specifier: ^3.7.4
version: 3.7.4
packages:
@@ -167,8 +167,8 @@ packages:
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
prettier@3.7.3:
resolution: {integrity: sha512-QgODejq9K3OzoBbuyobZlUhznP5SKwPqp+6Q6xw6o8gnhr4O85L2U915iM2IDcfF2NPXVaM9zlo9tdwipnYwzg==}
prettier@3.7.4:
resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==}
engines: {node: '>=14'}
hasBin: true
@@ -246,7 +246,7 @@ snapshots:
dependencies:
'@noble/hashes': 1.8.0
'@trivago/prettier-plugin-sort-imports@6.0.0(prettier@3.7.3)':
'@trivago/prettier-plugin-sort-imports@6.0.0(prettier@3.7.4)':
dependencies:
'@babel/generator': 7.28.5
'@babel/parser': 7.28.5
@@ -256,7 +256,7 @@ snapshots:
lodash-es: 4.17.21
minimatch: 9.0.5
parse-imports-exports: 0.2.4
prettier: 3.7.3
prettier: 3.7.4
transitivePeerDependencies:
- supports-color
@@ -311,6 +311,6 @@ snapshots:
picocolors@1.1.1: {}
prettier@3.7.3: {}
prettier@3.7.4: {}
wrappy@1.0.2: {}

View File

@@ -964,17 +964,17 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
48,
63);
register_device_value(
DeviceValueTAG::TAG_DHW1, &wwComfDiffTemp_, DeviceValueType::UINT8, FL_(wwComfDiffTemp), DeviceValueUOM::K, MAKE_CF_CB(set_wwComfDiffTemp), 4, 12);
DeviceValueTAG::TAG_DHW1, &wwComfDiffTemp_, DeviceValueType::UINT8, FL_(wwComfDiffTemp), DeviceValueUOM::K, MAKE_CF_CB(set_wwComfDiffTemp), 4, 15);
register_device_value(
DeviceValueTAG::TAG_DHW1, &wwEcoDiffTemp_, DeviceValueType::UINT8, FL_(wwEcoDiffTemp), DeviceValueUOM::K, MAKE_CF_CB(set_wwEcoDiffTemp), 4, 12);
DeviceValueTAG::TAG_DHW1, &wwEcoDiffTemp_, DeviceValueType::UINT8, FL_(wwEcoDiffTemp), DeviceValueUOM::K, MAKE_CF_CB(set_wwEcoDiffTemp), 4, 15);
register_device_value(DeviceValueTAG::TAG_DHW1,
&wwEcoPlusDiffTemp_,
DeviceValueType::UINT8,
FL_(wwEcoPlusDiffTemp),
DeviceValueUOM::K,
MAKE_CF_CB(set_wwEcoPlusDiffTemp),
6,
12);
4,
15);
register_device_value(DeviceValueTAG::TAG_DHW1,
&wwComfStopTemp_,
DeviceValueType::UINT8,

View File

@@ -6,14 +6,17 @@ async function testAPI(ip = "ems-esp.local", apiPath = "system", loopCount = 1,
const baseUrl = `http://${ip}`;
const url = `${baseUrl}/${apiPath}`;
const results = [];
const testStartTime = Date.now();
for (let i = 0; i < loopCount; i++) {
let logMessage = '';
if (loopCount > 1) {
logMessage = `- Request ${i + 1}/${loopCount} -`;
const totalElapsed = ((Date.now() - testStartTime) / 1000).toFixed(1);
logMessage = `[${totalElapsed}s] Request: ${i + 1}/${loopCount},`;
}
try {
const startTime = Date.now();
const response = await axios.get(url, {
timeout: 5000,
headers: {
@@ -33,11 +36,10 @@ async function testAPI(ip = "ems-esp.local", apiPath = "system", loopCount = 1,
// if successful make another request to the /api/system/info endpoint to fetch the freeMem
const response = await axios.get(`${baseUrl}/api/system/info`);
const freeMem = response.data?.freeMem || response.data?.system?.freeMem;
const uptime = response.data?.uptime || response.data?.system?.uptime;
if (freeMem !== undefined) {
logMessage += (logMessage ? ' ' : '') + `(uptime: ${uptime}, freeMem: ${freeMem})`;
logMessage += `, freeMem: ${freeMem}`;
} else {
logMessage += (logMessage ? ' ' : '') + 'freeMem not found in response';
logMessage += 'freeMem not found in response';
}
console.log(logMessage);
@@ -55,7 +57,8 @@ async function testAPI(ip = "ems-esp.local", apiPath = "system", loopCount = 1,
// testAPI("192.168.1.65", "api/system") - single call
// testAPI("192.168.1.65", "api/system", 5) - 5 calls with 1000ms delay
// testAPI("192.168.1.65", "api/system", 10, 2000) - 10 calls with 2000ms delay
testAPI("192.168.1.65", "status", 20000, 5)
// testAPI("192.168.1.65", "status", 20000, 5)
testAPI("192.168.1.65", "api/custom/test_custom", 1000, 5)
.then(() => {
console.log('Test completed successfully');
process.exit(0);

View File

@@ -0,0 +1,5 @@
{
"dependencies": {
"axios": "^1.13.2"
}
}