mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev
This commit is contained in:
22
.gitignore
vendored
22
.gitignore
vendored
@@ -30,7 +30,7 @@ stats.html
|
|||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
.pnp.*
|
.pnp.*
|
||||||
.yarn/*
|
*/.yarn/*
|
||||||
!.yarn/patches
|
!.yarn/patches
|
||||||
!.yarn/plugins
|
!.yarn/plugins
|
||||||
!.yarn/releases
|
!.yarn/releases
|
||||||
@@ -39,6 +39,16 @@ stats.html
|
|||||||
yarn.lock
|
yarn.lock
|
||||||
analyse.html
|
analyse.html
|
||||||
interface/vite.config.ts.timestamp*
|
interface/vite.config.ts.timestamp*
|
||||||
|
*.local
|
||||||
|
# i18n generated files
|
||||||
|
interface/src/i18n/i18n-react.tsx
|
||||||
|
interface/src/i18n/i18n-types.ts
|
||||||
|
interface/src/i18n/i18n-util.ts
|
||||||
|
interface/src/i18n/i18n-util.sync.ts
|
||||||
|
interface/src/i18n/i18n-util.async.ts
|
||||||
|
# mock-api uploads
|
||||||
|
*/uploads/*
|
||||||
|
!uploads/README.md
|
||||||
|
|
||||||
# scripts
|
# scripts
|
||||||
test.sh
|
test.sh
|
||||||
@@ -46,18 +56,10 @@ scripts/run.sh
|
|||||||
scripts/__pycache__
|
scripts/__pycache__
|
||||||
scripts/stackdmp.txt
|
scripts/stackdmp.txt
|
||||||
|
|
||||||
# i18n generated files
|
|
||||||
interface/src/i18n/i18n-react.tsx
|
|
||||||
interface/src/i18n/i18n-types.ts
|
|
||||||
interface/src/i18n/i18n-util.ts
|
|
||||||
interface/src/i18n/i18n-util.sync.ts
|
|
||||||
interface/src/i18n/i18n-util.async.ts
|
|
||||||
|
|
||||||
# sonar
|
# sonar
|
||||||
.scannerwork/
|
.scannerwork/
|
||||||
sonar/
|
sonar/
|
||||||
bw-output/
|
bw-output/
|
||||||
|
|
||||||
# testing
|
# standalone executable for testing
|
||||||
emsesp
|
emsesp
|
||||||
|
|
||||||
|
|||||||
7
interface/.gitignore
vendored
7
interface/.gitignore
vendored
@@ -1,7 +0,0 @@
|
|||||||
.pnp.*
|
|
||||||
.yarn/*
|
|
||||||
!.yarn/patches
|
|
||||||
!.yarn/plugins
|
|
||||||
!.yarn/releases
|
|
||||||
!.yarn/sdks
|
|
||||||
!.yarn/versions
|
|
||||||
@@ -14,9 +14,8 @@
|
|||||||
"preview-standalone": "typesafe-i18n --no-watch && vite build && concurrently -c \"auto\" \"npm:mock-api\" \"vite preview\"",
|
"preview-standalone": "typesafe-i18n --no-watch && vite build && concurrently -c \"auto\" \"npm:mock-api\" \"vite preview\"",
|
||||||
"mock-api": "bun --watch ../mock-api/rest_server.ts",
|
"mock-api": "bun --watch ../mock-api/rest_server.ts",
|
||||||
"mock-es": "bun --watch ../mock-api/es_server.ts",
|
"mock-es": "bun --watch ../mock-api/es_server.ts",
|
||||||
"old_mock-api": "bun --watch ../mock-api/server.js",
|
"mock-upload": "bun --watch ../mock-api/upload_server.ts",
|
||||||
"standalone": "concurrently -c \"auto\" \"typesafe-i18n\" \"npm:mock-api\" \"npm:mock-es\" \"vite\"",
|
"standalone": "concurrently -c \"auto\" \"typesafe-i18n\" \"npm:mock-api\" \"npm:mock-es\" \"npm:mock-upload\" \"vite\"",
|
||||||
"old_standalone": "concurrently -c \"auto\" \"typesafe-i18n\" \"npm:old_mock-api\" \"vite\"",
|
|
||||||
"typesafe-i18n": "typesafe-i18n --no-watch",
|
"typesafe-i18n": "typesafe-i18n --no-watch",
|
||||||
"webUI": "node progmem-generator.js",
|
"webUI": "node progmem-generator.js",
|
||||||
"format": "prettier --write '**/*.{ts,tsx,js,css,json,md}'",
|
"format": "prettier --write '**/*.{ts,tsx,js,css,json,md}'",
|
||||||
@@ -24,19 +23,19 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@alova/adapter-xhr": "^1.0.3",
|
"@alova/adapter-xhr": "^1.0.3",
|
||||||
"@babel/core": "^7.24.3",
|
"@babel/core": "^7.24.4",
|
||||||
"@emotion/react": "^11.11.4",
|
"@emotion/react": "^11.11.4",
|
||||||
"@emotion/styled": "^11.11.5",
|
"@emotion/styled": "^11.11.5",
|
||||||
"@mui/icons-material": "^5.15.14",
|
"@mui/icons-material": "^5.15.15",
|
||||||
"@mui/material": "^5.15.14",
|
"@mui/material": "^5.15.15",
|
||||||
"@table-library/react-table-library": "4.1.7",
|
"@table-library/react-table-library": "4.1.7",
|
||||||
"@types/imagemin": "^8.0.5",
|
"@types/imagemin": "^8.0.5",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/node": "^20.12.2",
|
"@types/node": "^20.12.7",
|
||||||
"@types/react": "^18.2.73",
|
"@types/react": "^18.2.76",
|
||||||
"@types/react-dom": "^18.2.23",
|
"@types/react-dom": "^18.2.25",
|
||||||
"@types/react-router-dom": "^5.3.3",
|
"@types/react-router-dom": "^5.3.3",
|
||||||
"alova": "^2.18.2",
|
"alova": "^2.19.0",
|
||||||
"async-validator": "^4.2.5",
|
"async-validator": "^4.2.5",
|
||||||
"eslint-plugin-prettier": "^5.1.3",
|
"eslint-plugin-prettier": "^5.1.3",
|
||||||
"history": "^5.3.0",
|
"history": "^5.3.0",
|
||||||
@@ -50,26 +49,26 @@
|
|||||||
"react-router-dom": "^6.22.3",
|
"react-router-dom": "^6.22.3",
|
||||||
"react-toastify": "^10.0.5",
|
"react-toastify": "^10.0.5",
|
||||||
"typesafe-i18n": "^5.26.2",
|
"typesafe-i18n": "^5.26.2",
|
||||||
"typescript": "^5.4.3"
|
"typescript": "^5.4.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@preact/compat": "^17.1.2",
|
"@preact/compat": "^17.1.2",
|
||||||
"@preact/preset-vite": "^2.8.2",
|
"@preact/preset-vite": "^2.8.2",
|
||||||
"@typescript-eslint/eslint-plugin": "^7.4.0",
|
"@typescript-eslint/eslint-plugin": "^7.6.0",
|
||||||
"@typescript-eslint/parser": "^7.4.0",
|
"@typescript-eslint/parser": "^7.6.0",
|
||||||
"concurrently": "^8.2.2",
|
"concurrently": "^8.2.2",
|
||||||
"eslint": "^8.57.0",
|
"eslint": "8.57.0",
|
||||||
"eslint-config-prettier": "^9.1.0",
|
"eslint-config-prettier": "^9.1.0",
|
||||||
"eslint-import-resolver-typescript": "^3.6.1",
|
"eslint-import-resolver-typescript": "^3.6.1",
|
||||||
"eslint-plugin-autofix": "^1.1.0",
|
"eslint-plugin-autofix": "^1.1.0",
|
||||||
"eslint-plugin-import": "^2.29.1",
|
"eslint-plugin-import": "^2.29.1",
|
||||||
"eslint-plugin-react": "^7.34.1",
|
"eslint-plugin-react": "^7.34.1",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"preact": "^10.20.1",
|
"preact": "^10.20.2",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
"rollup-plugin-visualizer": "^5.12.0",
|
"rollup-plugin-visualizer": "^5.12.0",
|
||||||
"terser": "^5.30.0",
|
"terser": "^5.30.3",
|
||||||
"vite": "^5.2.7",
|
"vite": "^5.2.8",
|
||||||
"vite-plugin-imagemin": "^0.6.1",
|
"vite-plugin-imagemin": "^0.6.1",
|
||||||
"vite-tsconfig-paths": "^4.3.2"
|
"vite-tsconfig-paths": "^4.3.2"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ export default defineConfig(({ command, mode }) => {
|
|||||||
open: true,
|
open: true,
|
||||||
port: mode == 'production' ? 4173 : 3000,
|
port: mode == 'production' ? 4173 : 3000,
|
||||||
proxy: {
|
proxy: {
|
||||||
'/rest': 'http://localhost:3080',
|
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'http://localhost:3080',
|
target: 'http://localhost:3080',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
@@ -23,7 +22,9 @@ export default defineConfig(({ command, mode }) => {
|
|||||||
target: 'http://localhost:3081',
|
target: 'http://localhost:3081',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
secure: false
|
secure: false
|
||||||
}
|
},
|
||||||
|
'/rest/uploadFile': 'http://localhost:3082', // this must come first to work!
|
||||||
|
'/rest': 'http://localhost:3080'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/core@npm:^7.22.1, @babel/core@npm:^7.24.3":
|
"@babel/core@npm:^7.22.1":
|
||||||
version: 7.24.3
|
version: 7.24.3
|
||||||
resolution: "@babel/core@npm:7.24.3"
|
resolution: "@babel/core@npm:7.24.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -69,6 +69,29 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@babel/core@npm:^7.24.4":
|
||||||
|
version: 7.24.4
|
||||||
|
resolution: "@babel/core@npm:7.24.4"
|
||||||
|
dependencies:
|
||||||
|
"@ampproject/remapping": "npm:^2.2.0"
|
||||||
|
"@babel/code-frame": "npm:^7.24.2"
|
||||||
|
"@babel/generator": "npm:^7.24.4"
|
||||||
|
"@babel/helper-compilation-targets": "npm:^7.23.6"
|
||||||
|
"@babel/helper-module-transforms": "npm:^7.23.3"
|
||||||
|
"@babel/helpers": "npm:^7.24.4"
|
||||||
|
"@babel/parser": "npm:^7.24.4"
|
||||||
|
"@babel/template": "npm:^7.24.0"
|
||||||
|
"@babel/traverse": "npm:^7.24.1"
|
||||||
|
"@babel/types": "npm:^7.24.0"
|
||||||
|
convert-source-map: "npm:^2.0.0"
|
||||||
|
debug: "npm:^4.1.0"
|
||||||
|
gensync: "npm:^1.0.0-beta.2"
|
||||||
|
json5: "npm:^2.2.3"
|
||||||
|
semver: "npm:^6.3.1"
|
||||||
|
checksum: 10/1e049f8df26be0fe5be36173fd7c33dfb004eeeec28152fea83c90e71784f9a6f2237296f43a2ee7d9041e2a33a05f43da48ce2d4e0cd473a682328ca07ce7e0
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@babel/generator@npm:^7.24.1":
|
"@babel/generator@npm:^7.24.1":
|
||||||
version: 7.24.1
|
version: 7.24.1
|
||||||
resolution: "@babel/generator@npm:7.24.1"
|
resolution: "@babel/generator@npm:7.24.1"
|
||||||
@@ -81,6 +104,18 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@babel/generator@npm:^7.24.4":
|
||||||
|
version: 7.24.4
|
||||||
|
resolution: "@babel/generator@npm:7.24.4"
|
||||||
|
dependencies:
|
||||||
|
"@babel/types": "npm:^7.24.0"
|
||||||
|
"@jridgewell/gen-mapping": "npm:^0.3.5"
|
||||||
|
"@jridgewell/trace-mapping": "npm:^0.3.25"
|
||||||
|
jsesc: "npm:^2.5.1"
|
||||||
|
checksum: 10/69e1772dcf8f95baec951f422cca091d59a3f29b5eedc989ad87f7262289b94625983f6fe654302ca17aae0a32f9232332b83fcc85533311d6267b09c58b1061
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@babel/helper-annotate-as-pure@npm:^7.22.5":
|
"@babel/helper-annotate-as-pure@npm:^7.22.5":
|
||||||
version: 7.22.5
|
version: 7.22.5
|
||||||
resolution: "@babel/helper-annotate-as-pure@npm:7.22.5"
|
resolution: "@babel/helper-annotate-as-pure@npm:7.22.5"
|
||||||
@@ -210,6 +245,17 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@babel/helpers@npm:^7.24.4":
|
||||||
|
version: 7.24.4
|
||||||
|
resolution: "@babel/helpers@npm:7.24.4"
|
||||||
|
dependencies:
|
||||||
|
"@babel/template": "npm:^7.24.0"
|
||||||
|
"@babel/traverse": "npm:^7.24.1"
|
||||||
|
"@babel/types": "npm:^7.24.0"
|
||||||
|
checksum: 10/54a9d0f86f2803fcc216cfa23b66b871ea0fa0a892af1c9a79075872c2437de71afbb150ed8216f30e00b19a0b9c5c9d5845173d170e1ebfbbf8887839b89dde
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@babel/highlight@npm:^7.24.2":
|
"@babel/highlight@npm:^7.24.2":
|
||||||
version: 7.24.2
|
version: 7.24.2
|
||||||
resolution: "@babel/highlight@npm:7.24.2"
|
resolution: "@babel/highlight@npm:7.24.2"
|
||||||
@@ -231,6 +277,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@babel/parser@npm:^7.24.4":
|
||||||
|
version: 7.24.4
|
||||||
|
resolution: "@babel/parser@npm:7.24.4"
|
||||||
|
bin:
|
||||||
|
parser: ./bin/babel-parser.js
|
||||||
|
checksum: 10/3742cc5068036287e6395269dce5a2735e6349cdc8d4b53297c75f98c580d7e1c8cb43235623999d151f2ef975d677dbc2c2357573a1855caa71c271bf3046c9
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@babel/plugin-syntax-jsx@npm:^7.23.3":
|
"@babel/plugin-syntax-jsx@npm:^7.23.3":
|
||||||
version: 7.24.1
|
version: 7.24.1
|
||||||
resolution: "@babel/plugin-syntax-jsx@npm:7.24.1"
|
resolution: "@babel/plugin-syntax-jsx@npm:7.24.1"
|
||||||
@@ -655,7 +710,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1":
|
"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1":
|
||||||
version: 4.10.0
|
version: 4.10.0
|
||||||
resolution: "@eslint-community/regexpp@npm:4.10.0"
|
resolution: "@eslint-community/regexpp@npm:4.10.0"
|
||||||
checksum: 10/8c36169c815fc5d726078e8c71a5b592957ee60d08c6470f9ce0187c8046af1a00afbda0a065cc40ff18d5d83f82aed9793c6818f7304a74a7488dc9f3ecbd42
|
checksum: 10/8c36169c815fc5d726078e8c71a5b592957ee60d08c6470f9ce0187c8046af1a00afbda0a065cc40ff18d5d83f82aed9793c6818f7304a74a7488dc9f3ecbd42
|
||||||
@@ -743,9 +798,9 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@humanwhocodes/object-schema@npm:^2.0.2":
|
"@humanwhocodes/object-schema@npm:^2.0.2":
|
||||||
version: 2.0.2
|
version: 2.0.3
|
||||||
resolution: "@humanwhocodes/object-schema@npm:2.0.2"
|
resolution: "@humanwhocodes/object-schema@npm:2.0.3"
|
||||||
checksum: 10/ef915e3e2f34652f3d383b28a9a99cfea476fa991482370889ab14aac8ecd2b38d47cc21932526c6d949da0daf4a4a6bf629d30f41b0caca25e146819cbfa70e
|
checksum: 10/05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -837,16 +892,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/core-downloads-tracker@npm:^5.15.14":
|
"@mui/core-downloads-tracker@npm:^5.15.15":
|
||||||
version: 5.15.14
|
version: 5.15.15
|
||||||
resolution: "@mui/core-downloads-tracker@npm:5.15.14"
|
resolution: "@mui/core-downloads-tracker@npm:5.15.15"
|
||||||
checksum: 10/0a1c63d906af594d0a7fb63d1d574482b3916351ea8908e8621c8bfa16ac38cf4edb5a334f0e28084f583ac928b587cab6e031f992195e0a590186faba13b9a5
|
checksum: 10/3e99a04e03f66d5fa5f0c23cdce0f9fa2331ba08c99a75dc2347ccaa1c6ed520153e04aaeb0d613c9dca099a3e6242558a6284c33d93f95cc65e3243b17860bc
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/icons-material@npm:^5.15.14":
|
"@mui/icons-material@npm:^5.15.15":
|
||||||
version: 5.15.14
|
version: 5.15.15
|
||||||
resolution: "@mui/icons-material@npm:5.15.14"
|
resolution: "@mui/icons-material@npm:5.15.15"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": "npm:^7.23.9"
|
"@babel/runtime": "npm:^7.23.9"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -856,18 +911,18 @@ __metadata:
|
|||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10/a5033b67d4ff455f5fdd91fc51d26d967d634e861cde194b9dde02a8cc3f557d1b3f7e0b3175bc654b8e944f2118d46620485734ecd9d2ed4a6f748386447933
|
checksum: 10/e8810d7ffbba914baf21509e5d664f5f23bdba5d2a7ec7c485a3c7ddbbcb417e555c31feff2a3fa9c7d7fa0d22d4380f32488559ab3b170d891641dbc2161b22
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/material@npm:^5.15.14":
|
"@mui/material@npm:^5.15.15":
|
||||||
version: 5.15.14
|
version: 5.15.15
|
||||||
resolution: "@mui/material@npm:5.15.14"
|
resolution: "@mui/material@npm:5.15.15"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": "npm:^7.23.9"
|
"@babel/runtime": "npm:^7.23.9"
|
||||||
"@mui/base": "npm:5.0.0-beta.40"
|
"@mui/base": "npm:5.0.0-beta.40"
|
||||||
"@mui/core-downloads-tracker": "npm:^5.15.14"
|
"@mui/core-downloads-tracker": "npm:^5.15.15"
|
||||||
"@mui/system": "npm:^5.15.14"
|
"@mui/system": "npm:^5.15.15"
|
||||||
"@mui/types": "npm:^7.2.14"
|
"@mui/types": "npm:^7.2.14"
|
||||||
"@mui/utils": "npm:^5.15.14"
|
"@mui/utils": "npm:^5.15.14"
|
||||||
"@types/react-transition-group": "npm:^4.4.10"
|
"@types/react-transition-group": "npm:^4.4.10"
|
||||||
@@ -889,7 +944,7 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10/a2c3355b39b86472bf2debb84d6c032b1ea4ba691fbda0f25803f2702f9106130bb85a7d2757545ce97540fe185f07cf24574d5786a29df26baa298ff7db063b
|
checksum: 10/e2803d078243ee5489bf693f7e9d421061dfda79b6ce74762f3a81e3c519cf69c18af179e4267fc9d0ce799898e6b3d7eac029e7dcfbea12dab5e867d641984b
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -931,9 +986,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/system@npm:^5.15.14":
|
"@mui/system@npm:^5.15.15":
|
||||||
version: 5.15.14
|
version: 5.15.15
|
||||||
resolution: "@mui/system@npm:5.15.14"
|
resolution: "@mui/system@npm:5.15.15"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": "npm:^7.23.9"
|
"@babel/runtime": "npm:^7.23.9"
|
||||||
"@mui/private-theming": "npm:^5.15.14"
|
"@mui/private-theming": "npm:^5.15.14"
|
||||||
@@ -955,7 +1010,7 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10/64a9eac1bebefad3042cce28a75d0af2828aa71acd4c32fb0267f5e68bc75b16a093b6fb30709db83ec32130f14f1d67c1c27457ef62733e54a9d04f9b027cee
|
checksum: 10/90a84ad0bc1b401b6e53b13fe9cfe8a34668e84885d391abf5ab80b3cd0f37370be25cb40af253cdd468746386282fed24964315933fcb28d2d6e62de0db7bf1
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1364,7 +1419,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/json-schema@npm:^7.0.12":
|
"@types/json-schema@npm:^7.0.15":
|
||||||
version: 7.0.15
|
version: 7.0.15
|
||||||
resolution: "@types/json-schema@npm:7.0.15"
|
resolution: "@types/json-schema@npm:7.0.15"
|
||||||
checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7
|
checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7
|
||||||
@@ -1419,12 +1474,12 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/node@npm:^20.12.2":
|
"@types/node@npm:^20.12.7":
|
||||||
version: 20.12.2
|
version: 20.12.7
|
||||||
resolution: "@types/node@npm:20.12.2"
|
resolution: "@types/node@npm:20.12.7"
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: "npm:~5.26.4"
|
undici-types: "npm:~5.26.4"
|
||||||
checksum: 10/f1f0ebfe475aefa183763b856e0023b81b76554196e8676a45b9fcfd1012cdd20d32adefb3c0330001c0011e074676603c34c24821a4924228250ea13a75da43
|
checksum: 10/b4a28a3b593a9bdca5650880b6a9acef46911d58cf7cfa57268f048e9a7157a7c3196421b96cea576850ddb732e3b54bc982c8eb5e1e5ef0635d4424c2fce801
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1442,12 +1497,12 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/react-dom@npm:^18.2.23":
|
"@types/react-dom@npm:^18.2.25":
|
||||||
version: 18.2.23
|
version: 18.2.25
|
||||||
resolution: "@types/react-dom@npm:18.2.23"
|
resolution: "@types/react-dom@npm:18.2.25"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/react": "npm:*"
|
"@types/react": "npm:*"
|
||||||
checksum: 10/8311c67767b0aafb5cd94176a90f801f0f5f6930731d57caaa04bb0d87fdef6bc6f723a116d9777d2082ec022682acaad7a62d04dc27e330e818cf34f2ef2703
|
checksum: 10/0e45856a2fdbf09e74632b132b3af773c6b18fc2ab0bd04595c9f2bcc0bb04d5e732ac8156d145b712dedab7484a8fe9dce5cf720a5437b5d26099c7060c7ba4
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1492,13 +1547,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/react@npm:^18.2.73":
|
"@types/react@npm:^18.2.76":
|
||||||
version: 18.2.73
|
version: 18.2.76
|
||||||
resolution: "@types/react@npm:18.2.73"
|
resolution: "@types/react@npm:18.2.76"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/prop-types": "npm:*"
|
"@types/prop-types": "npm:*"
|
||||||
csstype: "npm:^3.0.2"
|
csstype: "npm:^3.0.2"
|
||||||
checksum: 10/799e30e73464dff40e04f4eb7499ebc31f99b1711a69263b9af340af738e35c9cdf53084e3dacc3b21c031aaa0cba1b51f4ba60490204b7abb75f115b841583f
|
checksum: 10/25e9f548ba72be3e0cc624653e3bf2ec7d3ad1ede522e474884375eb352be977098857fe89611295ae3f5dd2f370305955a396996cde93c10fb9d1fbb93a5a74
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1518,7 +1573,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/semver@npm:^7.5.0":
|
"@types/semver@npm:^7.5.8":
|
||||||
version: 7.5.8
|
version: 7.5.8
|
||||||
resolution: "@types/semver@npm:7.5.8"
|
resolution: "@types/semver@npm:7.5.8"
|
||||||
checksum: 10/3496808818ddb36deabfe4974fd343a78101fa242c4690044ccdc3b95dcf8785b494f5d628f2f47f38a702f8db9c53c67f47d7818f2be1b79f2efb09692e1178
|
checksum: 10/3496808818ddb36deabfe4974fd343a78101fa242c4690044ccdc3b95dcf8785b494f5d628f2f47f38a702f8db9c53c67f47d7818f2be1b79f2efb09692e1178
|
||||||
@@ -1534,126 +1589,126 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@npm:^7.4.0":
|
"@typescript-eslint/eslint-plugin@npm:^7.6.0":
|
||||||
version: 7.4.0
|
version: 7.6.0
|
||||||
resolution: "@typescript-eslint/eslint-plugin@npm:7.4.0"
|
resolution: "@typescript-eslint/eslint-plugin@npm:7.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@eslint-community/regexpp": "npm:^4.5.1"
|
"@eslint-community/regexpp": "npm:^4.10.0"
|
||||||
"@typescript-eslint/scope-manager": "npm:7.4.0"
|
"@typescript-eslint/scope-manager": "npm:7.6.0"
|
||||||
"@typescript-eslint/type-utils": "npm:7.4.0"
|
"@typescript-eslint/type-utils": "npm:7.6.0"
|
||||||
"@typescript-eslint/utils": "npm:7.4.0"
|
"@typescript-eslint/utils": "npm:7.6.0"
|
||||||
"@typescript-eslint/visitor-keys": "npm:7.4.0"
|
"@typescript-eslint/visitor-keys": "npm:7.6.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
graphemer: "npm:^1.4.0"
|
graphemer: "npm:^1.4.0"
|
||||||
ignore: "npm:^5.2.4"
|
ignore: "npm:^5.3.1"
|
||||||
natural-compare: "npm:^1.4.0"
|
natural-compare: "npm:^1.4.0"
|
||||||
semver: "npm:^7.5.4"
|
semver: "npm:^7.6.0"
|
||||||
ts-api-utils: "npm:^1.0.1"
|
ts-api-utils: "npm:^1.3.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@typescript-eslint/parser": ^7.0.0
|
"@typescript-eslint/parser": ^7.0.0
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10/9bd8852c7e4e9608c3fded94f7c60506cc7d2b6d8a8c1cad6d48969a7363751b20282874e55ccdf180635cf204cb10b3e1e5c3d1cff34d4fcd07762be3fc138e
|
checksum: 10/6977c5fb5397ac6c9fda8786b149130321ffba45a71b813ca8a800fe711ac626bcbe05d5ace2ef6245eb8f0c4b6feb2b505a0e0e398fa37ce088731e78478b20
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/parser@npm:^7.4.0":
|
"@typescript-eslint/parser@npm:^7.6.0":
|
||||||
version: 7.4.0
|
version: 7.6.0
|
||||||
resolution: "@typescript-eslint/parser@npm:7.4.0"
|
resolution: "@typescript-eslint/parser@npm:7.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/scope-manager": "npm:7.4.0"
|
"@typescript-eslint/scope-manager": "npm:7.6.0"
|
||||||
"@typescript-eslint/types": "npm:7.4.0"
|
"@typescript-eslint/types": "npm:7.6.0"
|
||||||
"@typescript-eslint/typescript-estree": "npm:7.4.0"
|
"@typescript-eslint/typescript-estree": "npm:7.6.0"
|
||||||
"@typescript-eslint/visitor-keys": "npm:7.4.0"
|
"@typescript-eslint/visitor-keys": "npm:7.6.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10/142a9e1187d305ed43b4fef659c36fa4e28359467198c986f0955c70b4067c9799f4c85d9881fbf099c55dfb265e30666e28b3ef290520e242b45ca7cb8e4ca9
|
checksum: 10/245b975280691c6c7bd3fe3e9d57943220e0400df62738274b98dffcbd3011b7191fd54c950cb4d0b6328699f3b1a45cea5e46cc5c86528e7f14e533277616c8
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@npm:7.4.0":
|
"@typescript-eslint/scope-manager@npm:7.6.0":
|
||||||
version: 7.4.0
|
version: 7.6.0
|
||||||
resolution: "@typescript-eslint/scope-manager@npm:7.4.0"
|
resolution: "@typescript-eslint/scope-manager@npm:7.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types": "npm:7.4.0"
|
"@typescript-eslint/types": "npm:7.6.0"
|
||||||
"@typescript-eslint/visitor-keys": "npm:7.4.0"
|
"@typescript-eslint/visitor-keys": "npm:7.6.0"
|
||||||
checksum: 10/8cf9292444f9731017a707cac34bef5ae0eb33b5cd42ed07fcd046e981d97889d9201d48e02f470f2315123f53771435e10b1dc81642af28a11df5352a8e8be2
|
checksum: 10/1daa0b84f751e740df39abf7303e63dcff26883242a616712d338edb11d24a05a03156d8f5d6b2c42ef01a28c540dbfc5c83853e159f341189870320e4c4acef
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/type-utils@npm:7.4.0":
|
"@typescript-eslint/type-utils@npm:7.6.0":
|
||||||
version: 7.4.0
|
version: 7.6.0
|
||||||
resolution: "@typescript-eslint/type-utils@npm:7.4.0"
|
resolution: "@typescript-eslint/type-utils@npm:7.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/typescript-estree": "npm:7.4.0"
|
"@typescript-eslint/typescript-estree": "npm:7.6.0"
|
||||||
"@typescript-eslint/utils": "npm:7.4.0"
|
"@typescript-eslint/utils": "npm:7.6.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
ts-api-utils: "npm:^1.0.1"
|
ts-api-utils: "npm:^1.3.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10/a8bd0929d8237679b2b8a7817f070a4b9658ee976882fba8ff37e4a70dd33f87793e1b157771104111fe8054eaa8ad437a010b6aa465072fbdb932647125db2d
|
checksum: 10/1011e1d3ff15f0167f653652865c5b850a1acb21627abff30b0cf1e15865dd490bfb7e9334fa2f4123477fc1eea1ebf4a5c3c8c5cc1972e3b195a39bd8c03aa8
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/types@npm:7.4.0":
|
"@typescript-eslint/types@npm:7.6.0":
|
||||||
version: 7.4.0
|
version: 7.6.0
|
||||||
resolution: "@typescript-eslint/types@npm:7.4.0"
|
resolution: "@typescript-eslint/types@npm:7.6.0"
|
||||||
checksum: 10/2782c5bf65cd3dfa9cd32bc3023676bbca22144987c3f6c6b67fd96c73d4a60b85a57458c49fd11b9971ac6531824bb3ae0664491e7a6de25d80c523c9be92b7
|
checksum: 10/830c1b12d8a9242285516e9b7e46bf434b52ad835da4fc5cdac19e79f02bf637c9458923d72cc0babe20d474ddcafcdd4dcd8991c2280d00084a014de3d32da0
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@npm:7.4.0":
|
"@typescript-eslint/typescript-estree@npm:7.6.0":
|
||||||
version: 7.4.0
|
version: 7.6.0
|
||||||
resolution: "@typescript-eslint/typescript-estree@npm:7.4.0"
|
resolution: "@typescript-eslint/typescript-estree@npm:7.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types": "npm:7.4.0"
|
"@typescript-eslint/types": "npm:7.6.0"
|
||||||
"@typescript-eslint/visitor-keys": "npm:7.4.0"
|
"@typescript-eslint/visitor-keys": "npm:7.6.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
globby: "npm:^11.1.0"
|
globby: "npm:^11.1.0"
|
||||||
is-glob: "npm:^4.0.3"
|
is-glob: "npm:^4.0.3"
|
||||||
minimatch: "npm:9.0.3"
|
minimatch: "npm:^9.0.4"
|
||||||
semver: "npm:^7.5.4"
|
semver: "npm:^7.6.0"
|
||||||
ts-api-utils: "npm:^1.0.1"
|
ts-api-utils: "npm:^1.3.0"
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10/162ec9d7582f45588342e1be36fdb60e41f50bbdfbc3035c91b517ff5d45244f776921c88d88e543e1c7d0f1e6ada5474a8316b78f1b0e6d2233b101bc45b166
|
checksum: 10/a10ae981669180d7c09acdd01e1c3b3dcb544edb8fa44d0c82586c2915d3001e6e15c792ef6b0b75774d6ff705613ec213f2316a7d9477a122e68c5913545a2b
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/utils@npm:7.4.0":
|
"@typescript-eslint/utils@npm:7.6.0":
|
||||||
version: 7.4.0
|
version: 7.6.0
|
||||||
resolution: "@typescript-eslint/utils@npm:7.4.0"
|
resolution: "@typescript-eslint/utils@npm:7.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@eslint-community/eslint-utils": "npm:^4.4.0"
|
"@eslint-community/eslint-utils": "npm:^4.4.0"
|
||||||
"@types/json-schema": "npm:^7.0.12"
|
"@types/json-schema": "npm:^7.0.15"
|
||||||
"@types/semver": "npm:^7.5.0"
|
"@types/semver": "npm:^7.5.8"
|
||||||
"@typescript-eslint/scope-manager": "npm:7.4.0"
|
"@typescript-eslint/scope-manager": "npm:7.6.0"
|
||||||
"@typescript-eslint/types": "npm:7.4.0"
|
"@typescript-eslint/types": "npm:7.6.0"
|
||||||
"@typescript-eslint/typescript-estree": "npm:7.4.0"
|
"@typescript-eslint/typescript-estree": "npm:7.6.0"
|
||||||
semver: "npm:^7.5.4"
|
semver: "npm:^7.6.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
checksum: 10/ffed27e770c486cd000ff892d9049b0afe8b9d6318452a5355b78a37436cbb414bceacae413a2ac813f3e584684825d5e0baa2e6376b7ad6013a108ac91bc19d
|
checksum: 10/45bcc1b00ec281cfc997aeff4bca3b3e169f49c656ddfcfad909b18ecdcd8b0d27776df1c452d47d9291cd1346023e0a2d7c8aa67bf3ad917f530033f6b193aa
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys@npm:7.4.0":
|
"@typescript-eslint/visitor-keys@npm:7.6.0":
|
||||||
version: 7.4.0
|
version: 7.6.0
|
||||||
resolution: "@typescript-eslint/visitor-keys@npm:7.4.0"
|
resolution: "@typescript-eslint/visitor-keys@npm:7.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types": "npm:7.4.0"
|
"@typescript-eslint/types": "npm:7.6.0"
|
||||||
eslint-visitor-keys: "npm:^3.4.1"
|
eslint-visitor-keys: "npm:^3.4.3"
|
||||||
checksum: 10/70dc99f2ad116c6e2d9e55af249e4453e06bba2ceea515adef2d2e86e97e557865bb1b1d467667462443eb0d624baba36f7442fd1082f3874339bbc381c26e93
|
checksum: 10/2703629f1359f08e7a20706e225f2d83bf12292c282d2effa431eae441b12d4af1fe8c692535f6ef32d5b6d0c15ad61c4c102e4dd157c8fe30eefb94222ba239
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1669,26 +1724,26 @@ __metadata:
|
|||||||
resolution: "EMS-ESP@workspace:."
|
resolution: "EMS-ESP@workspace:."
|
||||||
dependencies:
|
dependencies:
|
||||||
"@alova/adapter-xhr": "npm:^1.0.3"
|
"@alova/adapter-xhr": "npm:^1.0.3"
|
||||||
"@babel/core": "npm:^7.24.3"
|
"@babel/core": "npm:^7.24.4"
|
||||||
"@emotion/react": "npm:^11.11.4"
|
"@emotion/react": "npm:^11.11.4"
|
||||||
"@emotion/styled": "npm:^11.11.5"
|
"@emotion/styled": "npm:^11.11.5"
|
||||||
"@mui/icons-material": "npm:^5.15.14"
|
"@mui/icons-material": "npm:^5.15.15"
|
||||||
"@mui/material": "npm:^5.15.14"
|
"@mui/material": "npm:^5.15.15"
|
||||||
"@preact/compat": "npm:^17.1.2"
|
"@preact/compat": "npm:^17.1.2"
|
||||||
"@preact/preset-vite": "npm:^2.8.2"
|
"@preact/preset-vite": "npm:^2.8.2"
|
||||||
"@table-library/react-table-library": "npm:4.1.7"
|
"@table-library/react-table-library": "npm:4.1.7"
|
||||||
"@types/imagemin": "npm:^8.0.5"
|
"@types/imagemin": "npm:^8.0.5"
|
||||||
"@types/lodash-es": "npm:^4.17.12"
|
"@types/lodash-es": "npm:^4.17.12"
|
||||||
"@types/node": "npm:^20.12.2"
|
"@types/node": "npm:^20.12.7"
|
||||||
"@types/react": "npm:^18.2.73"
|
"@types/react": "npm:^18.2.76"
|
||||||
"@types/react-dom": "npm:^18.2.23"
|
"@types/react-dom": "npm:^18.2.25"
|
||||||
"@types/react-router-dom": "npm:^5.3.3"
|
"@types/react-router-dom": "npm:^5.3.3"
|
||||||
"@typescript-eslint/eslint-plugin": "npm:^7.4.0"
|
"@typescript-eslint/eslint-plugin": "npm:^7.6.0"
|
||||||
"@typescript-eslint/parser": "npm:^7.4.0"
|
"@typescript-eslint/parser": "npm:^7.6.0"
|
||||||
alova: "npm:^2.18.2"
|
alova: "npm:^2.19.0"
|
||||||
async-validator: "npm:^4.2.5"
|
async-validator: "npm:^4.2.5"
|
||||||
concurrently: "npm:^8.2.2"
|
concurrently: "npm:^8.2.2"
|
||||||
eslint: "npm:^8.57.0"
|
eslint: "npm:8.57.0"
|
||||||
eslint-config-prettier: "npm:^9.1.0"
|
eslint-config-prettier: "npm:^9.1.0"
|
||||||
eslint-import-resolver-typescript: "npm:^3.6.1"
|
eslint-import-resolver-typescript: "npm:^3.6.1"
|
||||||
eslint-plugin-autofix: "npm:^1.1.0"
|
eslint-plugin-autofix: "npm:^1.1.0"
|
||||||
@@ -1700,7 +1755,7 @@ __metadata:
|
|||||||
jwt-decode: "npm:^4.0.0"
|
jwt-decode: "npm:^4.0.0"
|
||||||
lodash-es: "npm:^4.17.21"
|
lodash-es: "npm:^4.17.21"
|
||||||
mime-types: "npm:^2.1.35"
|
mime-types: "npm:^2.1.35"
|
||||||
preact: "npm:^10.20.1"
|
preact: "npm:^10.20.2"
|
||||||
prettier: "npm:^3.2.5"
|
prettier: "npm:^3.2.5"
|
||||||
react: "npm:latest"
|
react: "npm:latest"
|
||||||
react-dom: "npm:latest"
|
react-dom: "npm:latest"
|
||||||
@@ -1709,10 +1764,10 @@ __metadata:
|
|||||||
react-router-dom: "npm:^6.22.3"
|
react-router-dom: "npm:^6.22.3"
|
||||||
react-toastify: "npm:^10.0.5"
|
react-toastify: "npm:^10.0.5"
|
||||||
rollup-plugin-visualizer: "npm:^5.12.0"
|
rollup-plugin-visualizer: "npm:^5.12.0"
|
||||||
terser: "npm:^5.30.0"
|
terser: "npm:^5.30.3"
|
||||||
typesafe-i18n: "npm:^5.26.2"
|
typesafe-i18n: "npm:^5.26.2"
|
||||||
typescript: "npm:^5.4.3"
|
typescript: "npm:^5.4.5"
|
||||||
vite: "npm:^5.2.7"
|
vite: "npm:^5.2.8"
|
||||||
vite-plugin-imagemin: "npm:^0.6.1"
|
vite-plugin-imagemin: "npm:^0.6.1"
|
||||||
vite-tsconfig-paths: "npm:^4.3.2"
|
vite-tsconfig-paths: "npm:^4.3.2"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
@@ -1774,10 +1829,10 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"alova@npm:^2.18.2":
|
"alova@npm:^2.19.0":
|
||||||
version: 2.18.2
|
version: 2.19.0
|
||||||
resolution: "alova@npm:2.18.2"
|
resolution: "alova@npm:2.19.0"
|
||||||
checksum: 10/715d97c5b80c2b3541b7b5dd203bb7496d7308a49682df31ed007c12a7d716ee910f3da852accc2398c2283db3808748678074cb87324b5d77bb991018431bf3
|
checksum: 10/0afdc54ada9b8540f9f4b0f71f3c6147da618865472c10a9bc6c59bc436489dc0d79d1b51c231f6361b7998f0ae594c24c208973b552a9fac3c272581e313a54
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -3683,7 +3738,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"eslint@npm:^8.57.0":
|
"eslint@npm:8.57.0":
|
||||||
version: 8.57.0
|
version: 8.57.0
|
||||||
resolution: "eslint@npm:8.57.0"
|
resolution: "eslint@npm:8.57.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4734,7 +4789,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4":
|
"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.3.1":
|
||||||
version: 5.3.1
|
version: 5.3.1
|
||||||
resolution: "ignore@npm:5.3.1"
|
resolution: "ignore@npm:5.3.1"
|
||||||
checksum: 10/0a884c2fbc8c316f0b9f92beaf84464253b73230a4d4d286697be45fca081199191ca33e1c2e82d9e5f851f5e9a48a78e25a35c951e7eb41e59f150db3530065
|
checksum: 10/0a884c2fbc8c316f0b9f92beaf84464253b73230a4d4d286697be45fca081199191ca33e1c2e82d9e5f851f5e9a48a78e25a35c951e7eb41e59f150db3530065
|
||||||
@@ -5829,7 +5884,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"minimatch@npm:9.0.3, minimatch@npm:^9.0.1":
|
"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
|
||||||
|
version: 3.1.2
|
||||||
|
resolution: "minimatch@npm:3.1.2"
|
||||||
|
dependencies:
|
||||||
|
brace-expansion: "npm:^1.1.7"
|
||||||
|
checksum: 10/e0b25b04cd4ec6732830344e5739b13f8690f8a012d73445a4a19fbc623f5dd481ef7a5827fde25954cd6026fede7574cc54dc4643c99d6c6b653d6203f94634
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"minimatch@npm:^9.0.1":
|
||||||
version: 9.0.3
|
version: 9.0.3
|
||||||
resolution: "minimatch@npm:9.0.3"
|
resolution: "minimatch@npm:9.0.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -5838,12 +5902,12 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
|
"minimatch@npm:^9.0.4":
|
||||||
version: 3.1.2
|
version: 9.0.4
|
||||||
resolution: "minimatch@npm:3.1.2"
|
resolution: "minimatch@npm:9.0.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion: "npm:^1.1.7"
|
brace-expansion: "npm:^2.0.1"
|
||||||
checksum: 10/e0b25b04cd4ec6732830344e5739b13f8690f8a012d73445a4a19fbc623f5dd481ef7a5827fde25954cd6026fede7574cc54dc4643c99d6c6b653d6203f94634
|
checksum: 10/4cdc18d112b164084513e890d6323370db14c22249d536ad1854539577a895e690a27513dc346392f61a4a50afbbd8abc88f3f25558bfbbbb862cd56508b20f5
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -6585,10 +6649,10 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"preact@npm:^10.20.1":
|
"preact@npm:^10.20.2":
|
||||||
version: 10.20.1
|
version: 10.20.2
|
||||||
resolution: "preact@npm:10.20.1"
|
resolution: "preact@npm:10.20.2"
|
||||||
checksum: 10/894ac14b3ec6f8ca308b53fb14e12e57678248fd1faa24ae857f5e37d9c11b34833e6dd1ba8210a34de4d6d523462923b1f9c93d35ce433874affd056f2d0998
|
checksum: 10/55b6128906771e33fb789898698e66eb0bdbc8b3303e1bf6c6e8a7d4191d12e476590a8a32e52513a1ac02b94313c3b20e8712bb9bc60fa377f0924cee2da992
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -7250,7 +7314,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"semver@npm:^7.3.5, semver@npm:^7.5.4":
|
"semver@npm:^7.3.5, semver@npm:^7.6.0":
|
||||||
version: 7.6.0
|
version: 7.6.0
|
||||||
resolution: "semver@npm:7.6.0"
|
resolution: "semver@npm:7.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -7861,9 +7925,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"terser@npm:^5.30.0":
|
"terser@npm:^5.30.3":
|
||||||
version: 5.30.0
|
version: 5.30.3
|
||||||
resolution: "terser@npm:5.30.0"
|
resolution: "terser@npm:5.30.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@jridgewell/source-map": "npm:^0.3.3"
|
"@jridgewell/source-map": "npm:^0.3.3"
|
||||||
acorn: "npm:^8.8.2"
|
acorn: "npm:^8.8.2"
|
||||||
@@ -7871,7 +7935,7 @@ __metadata:
|
|||||||
source-map-support: "npm:~0.5.20"
|
source-map-support: "npm:~0.5.20"
|
||||||
bin:
|
bin:
|
||||||
terser: bin/terser
|
terser: bin/terser
|
||||||
checksum: 10/78e6ce9e95ec7fc40e694da2e749fa80c3a99c916626349361c22d4cf2e510e8e6e49859c955416088e40688f99115cd595cb033fd5a8a7f0fc03c527ed8efe3
|
checksum: 10/f4ee378065a327c85472f351ac232fa47ec84d4f15df7ec58c044b41e3c063cf11aaedd90dcfe9c7f2a6ef01d4aab23deb61622301170dc77d0a8b6a6a83cf5e
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -7944,7 +8008,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"ts-api-utils@npm:^1.0.1":
|
"ts-api-utils@npm:^1.3.0":
|
||||||
version: 1.3.0
|
version: 1.3.0
|
||||||
resolution: "ts-api-utils@npm:1.3.0"
|
resolution: "ts-api-utils@npm:1.3.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -8081,23 +8145,23 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"typescript@npm:^5.4.3":
|
"typescript@npm:^5.4.5":
|
||||||
version: 5.4.3
|
version: 5.4.5
|
||||||
resolution: "typescript@npm:5.4.3"
|
resolution: "typescript@npm:5.4.5"
|
||||||
bin:
|
bin:
|
||||||
tsc: bin/tsc
|
tsc: bin/tsc
|
||||||
tsserver: bin/tsserver
|
tsserver: bin/tsserver
|
||||||
checksum: 10/de4c69f49a7ad4b1ea66a6dcc8b055ac34eb56af059a069d8988dd811c5e649be07e042e5bf573e8d0ac3ec2f30e6c999aa651cd09f6e9cbc6113749e8b6be20
|
checksum: 10/d04a9e27e6d83861f2126665aa8d84847e8ebabcea9125b9ebc30370b98cb38b5dff2508d74e2326a744938191a83a69aa9fddab41f193ffa43eabfdf3f190a5
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"typescript@patch:typescript@npm%3A^5.4.3#optional!builtin<compat/typescript>":
|
"typescript@patch:typescript@npm%3A^5.4.5#optional!builtin<compat/typescript>":
|
||||||
version: 5.4.3
|
version: 5.4.5
|
||||||
resolution: "typescript@patch:typescript@npm%3A5.4.3#optional!builtin<compat/typescript>::version=5.4.3&hash=5adc0c"
|
resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin<compat/typescript>::version=5.4.5&hash=5adc0c"
|
||||||
bin:
|
bin:
|
||||||
tsc: bin/tsc
|
tsc: bin/tsc
|
||||||
tsserver: bin/tsserver
|
tsserver: bin/tsserver
|
||||||
checksum: 10/5aedd97595582b08aadb8a70e8e3ddebaf5a9c1e5ad4d6503c2fcfc15329b5cf8d01145b09913e9555683ac16c5123a96be32b6d72614098ebd42df520eed9b1
|
checksum: 10/760f7d92fb383dbf7dee2443bf902f4365db2117f96f875cf809167f6103d55064de973db9f78fe8f31ec08fff52b2c969aee0d310939c0a3798ec75d0bca2e1
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -8278,9 +8342,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"vite@npm:^5.2.7":
|
"vite@npm:^5.2.8":
|
||||||
version: 5.2.7
|
version: 5.2.8
|
||||||
resolution: "vite@npm:5.2.7"
|
resolution: "vite@npm:5.2.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: "npm:^0.20.1"
|
esbuild: "npm:^0.20.1"
|
||||||
fsevents: "npm:~2.3.3"
|
fsevents: "npm:~2.3.3"
|
||||||
@@ -8314,7 +8378,7 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
vite: bin/vite.js
|
vite: bin/vite.js
|
||||||
checksum: 10/a00173446c8392069a70a92be78b060f7e5895f28c229eb25198953daa55c16ffbddcd4e8f015f220b2b1113e12d30e7a892221de34be336b222a12cddbb78a4
|
checksum: 10/caa40343c2c4e6d8e257fccb4c3029f62909c319a86063ce727ed550925c0a834460b0d1ca20c4d6c915f35302aa1052f6ec5193099a47ce21d74b9b817e69e1
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
end_of_line = lf
|
|
||||||
insert_final_newline = true
|
|
||||||
|
|
||||||
[*.{js,json,yml}]
|
|
||||||
charset = utf-8
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
4
mock-api/.gitattributes
vendored
4
mock-api/.gitattributes
vendored
@@ -1,4 +0,0 @@
|
|||||||
/.yarn/** linguist-vendored
|
|
||||||
/.yarn/releases/* binary
|
|
||||||
/.yarn/plugins/**/* binary
|
|
||||||
/.pnp.* binary linguist-generated
|
|
||||||
9
mock-api/.gitignore
vendored
9
mock-api/.gitignore
vendored
@@ -1,9 +0,0 @@
|
|||||||
.pnp.*
|
|
||||||
.yarn/*
|
|
||||||
!.yarn/patches
|
|
||||||
!.yarn/plugins
|
|
||||||
!.yarn/releases
|
|
||||||
!.yarn/sdks
|
|
||||||
!.yarn/versions
|
|
||||||
uploads/*
|
|
||||||
!uploads/README.md
|
|
||||||
@@ -64,4 +64,4 @@ rest_server.get(ES_LOG_ENDPOINT, (_req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// start eventsource server
|
// start eventsource server
|
||||||
rest_server.listen(port, () => console.log(`EMS-ESP EventSource server running on http://localhost:${port}/`));
|
rest_server.listen(port, () => console.log(`EMS-ESP EventSource mock server running on http://localhost:${port}/`));
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -6,13 +6,14 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"mock-api": "bun --watch rest_server.ts",
|
"mock-api": "bun --watch rest_server.ts",
|
||||||
"mock-es": "bun --watch es_server.ts"
|
"mock-es": "bun --watch es_server.ts",
|
||||||
|
"mock-upload": "bun --watch upload_server.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@msgpack/msgpack": "^2.8.0",
|
"@msgpack/msgpack": "^2.8.0",
|
||||||
"compression": "^1.7.4",
|
"compression": "^1.7.4",
|
||||||
"express": "^4.19.2",
|
"express": "^4.19.2",
|
||||||
"itty-router": "^5.0.4",
|
"itty-router": "^5.0.12",
|
||||||
"multer": "^1.4.5-lts.1"
|
"multer": "^1.4.5-lts.1"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@4.1.1",
|
"packageManager": "yarn@4.1.1",
|
||||||
|
|||||||
@@ -1,15 +1,11 @@
|
|||||||
import { AutoRouter, error, status } from 'itty-router';
|
import { AutoRouter, error, status } from 'itty-router';
|
||||||
import { Encoder } from '@msgpack/msgpack';
|
import { Encoder } from '@msgpack/msgpack';
|
||||||
|
|
||||||
// import busboy from 'busboy';
|
|
||||||
// import multer from 'multer';
|
|
||||||
// const upload = multer({ dest: '../mock-api/uploads' });
|
|
||||||
|
|
||||||
const encoder = new Encoder();
|
const encoder = new Encoder();
|
||||||
|
|
||||||
const router = AutoRouter({
|
const router = AutoRouter({
|
||||||
port: 3080,
|
port: 3080,
|
||||||
missing: () => error(404, 'Error, not found')
|
missing: () => error(404, 'Error, endpoint not found')
|
||||||
});
|
});
|
||||||
|
|
||||||
const REST_ENDPOINT_ROOT = '/rest/';
|
const REST_ENDPOINT_ROOT = '/rest/';
|
||||||
@@ -21,27 +17,9 @@ const headers = {
|
|||||||
'Content-type': 'application/json'
|
'Content-type': 'application/json'
|
||||||
};
|
};
|
||||||
|
|
||||||
const ESheaders = {
|
|
||||||
'Access-Control-Allow-Origin': '*',
|
|
||||||
'Content-type': 'text/event-stream',
|
|
||||||
'Cache-Control': 'no-cache',
|
|
||||||
Connection: 'keep-alive'
|
|
||||||
};
|
|
||||||
|
|
||||||
// GLOBAL VARIABLES
|
// GLOBAL VARIABLES
|
||||||
let countWifiScanPoll = 0; // wifi network scan
|
let countWifiScanPoll = 0; // wifi network scan
|
||||||
|
|
||||||
// FUNCTIONS
|
|
||||||
const delay = (ms) => new Promise((res) => setTimeout(res, ms));
|
|
||||||
function delay_blocking(milliseconds) {
|
|
||||||
var start = new Date().getTime();
|
|
||||||
for (var i = 0; i < 1e7; i++) {
|
|
||||||
if (new Date().getTime() - start > milliseconds) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateMask(entity: any, de: any, dd: any) {
|
function updateMask(entity: any, de: any, dd: any) {
|
||||||
const current_mask = parseInt(entity.slice(0, 2), 16);
|
const current_mask = parseInt(entity.slice(0, 2), 16);
|
||||||
|
|
||||||
@@ -371,7 +349,6 @@ const ESPSYSTEM_STATUS_ENDPOINT = REST_ENDPOINT_ROOT + 'ESPSystemStatus';
|
|||||||
const SECURITY_SETTINGS_ENDPOINT = REST_ENDPOINT_ROOT + 'securitySettings';
|
const SECURITY_SETTINGS_ENDPOINT = REST_ENDPOINT_ROOT + 'securitySettings';
|
||||||
const RESTART_ENDPOINT = REST_ENDPOINT_ROOT + 'restart';
|
const RESTART_ENDPOINT = REST_ENDPOINT_ROOT + 'restart';
|
||||||
const FACTORY_RESET_ENDPOINT = REST_ENDPOINT_ROOT + 'factoryReset';
|
const FACTORY_RESET_ENDPOINT = REST_ENDPOINT_ROOT + 'factoryReset';
|
||||||
const UPLOAD_FILE_ENDPOINT = REST_ENDPOINT_ROOT + 'uploadFile';
|
|
||||||
|
|
||||||
// SYSTEM SIGNIN
|
// SYSTEM SIGNIN
|
||||||
const VERIFY_AUTHORIZATION_ENDPOINT = REST_ENDPOINT_ROOT + 'verifyAuthorization';
|
const VERIFY_AUTHORIZATION_ENDPOINT = REST_ENDPOINT_ROOT + 'verifyAuthorization';
|
||||||
@@ -449,11 +426,12 @@ const EMSESP_CORE_DATA_ENDPOINT = REST_ENDPOINT_ROOT + 'coreData';
|
|||||||
const EMSESP_SENSOR_DATA_ENDPOINT = REST_ENDPOINT_ROOT + 'sensorData';
|
const EMSESP_SENSOR_DATA_ENDPOINT = REST_ENDPOINT_ROOT + 'sensorData';
|
||||||
const EMSESP_DEVICES_ENDPOINT = REST_ENDPOINT_ROOT + 'devices';
|
const EMSESP_DEVICES_ENDPOINT = REST_ENDPOINT_ROOT + 'devices';
|
||||||
const EMSESP_SCANDEVICES_ENDPOINT = REST_ENDPOINT_ROOT + 'scanDevices';
|
const EMSESP_SCANDEVICES_ENDPOINT = REST_ENDPOINT_ROOT + 'scanDevices';
|
||||||
// for later
|
|
||||||
// const EMSESP_DEVICEDATA_ENDPOINT = REST_ENDPOINT_ROOT + 'deviceData/:id';
|
const EMSESP_DEVICEDATA_ENDPOINT1 = REST_ENDPOINT_ROOT + 'deviceData';
|
||||||
// const EMSESP_DEVICEENTITIES_ENDPOINT = REST_ENDPOINT_ROOT + 'deviceEntities/:id';
|
const EMSESP_DEVICEDATA_ENDPOINT2 = REST_ENDPOINT_ROOT + 'deviceData/:id?';
|
||||||
const EMSESP_DEVICEDATA_ENDPOINT = REST_ENDPOINT_ROOT + 'deviceData';
|
const EMSESP_DEVICEENTITIES_ENDPOINT1 = REST_ENDPOINT_ROOT + 'deviceEntities';
|
||||||
const EMSESP_DEVICEENTITIES_ENDPOINT = REST_ENDPOINT_ROOT + 'deviceEntities';
|
const EMSESP_DEVICEENTITIES_ENDPOINT2 = REST_ENDPOINT_ROOT + 'deviceEntities/:id?';
|
||||||
|
|
||||||
const EMSESP_BOARDPROFILE_ENDPOINT = REST_ENDPOINT_ROOT + 'boardProfile';
|
const EMSESP_BOARDPROFILE_ENDPOINT = REST_ENDPOINT_ROOT + 'boardProfile';
|
||||||
const EMSESP_WRITE_DEVICEVALUE_ENDPOINT = REST_ENDPOINT_ROOT + 'writeDeviceValue';
|
const EMSESP_WRITE_DEVICEVALUE_ENDPOINT = REST_ENDPOINT_ROOT + 'writeDeviceValue';
|
||||||
const EMSESP_WRITE_TEMPSENSOR_ENDPOINT = REST_ENDPOINT_ROOT + 'writeTemperatureSensor';
|
const EMSESP_WRITE_TEMPSENSOR_ENDPOINT = REST_ENDPOINT_ROOT + 'writeTemperatureSensor';
|
||||||
@@ -663,18 +641,18 @@ let settings = {
|
|||||||
|
|
||||||
const emsesp_devices = {
|
const emsesp_devices = {
|
||||||
devices: [
|
devices: [
|
||||||
{
|
|
||||||
i: 2,
|
|
||||||
s: 'Thermostat (RC20/Moduline 300)',
|
|
||||||
t: 5,
|
|
||||||
tn: 'thermostat'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
i: 7,
|
i: 7,
|
||||||
s: 'Boiler (GBx72/Trendline/Cerapur/Greenstar Si/27i)',
|
s: 'Boiler (GBx72/Trendline/Cerapur/Greenstar Si/27i)',
|
||||||
t: 4,
|
t: 4,
|
||||||
tn: 'boiler'
|
tn: 'boiler'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
i: 2,
|
||||||
|
s: 'Thermostat (RC20/Moduline 300)',
|
||||||
|
t: 5,
|
||||||
|
tn: 'thermostat'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
i: 4,
|
i: 4,
|
||||||
s: 'Thermostat (RC100/Moduline 1000/1010)',
|
s: 'Thermostat (RC100/Moduline 1000/1010)',
|
||||||
@@ -691,7 +669,7 @@ const emsesp_coredata = {
|
|||||||
devices: [
|
devices: [
|
||||||
{
|
{
|
||||||
id: 7,
|
id: 7,
|
||||||
t: 4,
|
t: 5,
|
||||||
tn: 'Boiler',
|
tn: 'Boiler',
|
||||||
b: 'Nefit',
|
b: 'Nefit',
|
||||||
n: 'GBx72/Trendline/Cerapur/Greenstar Si/27i',
|
n: 'GBx72/Trendline/Cerapur/Greenstar Si/27i',
|
||||||
@@ -703,7 +681,7 @@ const emsesp_coredata = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
t: 4,
|
t: 5,
|
||||||
tn: 'Boiler',
|
tn: 'Boiler',
|
||||||
b: 'Buderus',
|
b: 'Buderus',
|
||||||
n: 'GB125/GB135/MC10',
|
n: 'GB125/GB135/MC10',
|
||||||
@@ -714,7 +692,7 @@ const emsesp_coredata = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
t: 5,
|
t: 6,
|
||||||
tn: 'Thermostat',
|
tn: 'Thermostat',
|
||||||
b: 'Buderus',
|
b: 'Buderus',
|
||||||
n: 'RC35',
|
n: 'RC35',
|
||||||
@@ -725,7 +703,7 @@ const emsesp_coredata = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
t: 5,
|
t: 6,
|
||||||
tn: 'Thermostat',
|
tn: 'Thermostat',
|
||||||
b: '',
|
b: '',
|
||||||
n: 'RC20/Moduline 300',
|
n: 'RC20/Moduline 300',
|
||||||
@@ -736,7 +714,7 @@ const emsesp_coredata = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 4,
|
id: 4,
|
||||||
t: 5,
|
t: 6,
|
||||||
tn: 'Thermostat',
|
tn: 'Thermostat',
|
||||||
b: 'Buderus',
|
b: 'Buderus',
|
||||||
n: 'RC100/Moduline 1000/1010',
|
n: 'RC100/Moduline 1000/1010',
|
||||||
@@ -747,7 +725,7 @@ const emsesp_coredata = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 5,
|
id: 5,
|
||||||
t: 6,
|
t: 7,
|
||||||
tn: 'Mixer Module',
|
tn: 'Mixer Module',
|
||||||
b: 'Buderus',
|
b: 'Buderus',
|
||||||
n: 'MM10',
|
n: 'MM10',
|
||||||
@@ -758,7 +736,7 @@ const emsesp_coredata = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 6,
|
id: 6,
|
||||||
t: 7,
|
t: 8,
|
||||||
tn: 'Solar Module',
|
tn: 'Solar Module',
|
||||||
b: 'Buderus',
|
b: 'Buderus',
|
||||||
n: 'SM10',
|
n: 'SM10',
|
||||||
@@ -769,7 +747,7 @@ const emsesp_coredata = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 99,
|
id: 99,
|
||||||
t: 17,
|
t: 4,
|
||||||
tn: 'Custom',
|
tn: 'Custom',
|
||||||
b: '',
|
b: '',
|
||||||
n: 'Custom Entities',
|
n: 'Custom Entities',
|
||||||
@@ -2400,110 +2378,64 @@ router
|
|||||||
.get(VERIFY_AUTHORIZATION_ENDPOINT, () => verify_authentication)
|
.get(VERIFY_AUTHORIZATION_ENDPOINT, () => verify_authentication)
|
||||||
.post(RESTART_ENDPOINT, () => status(200))
|
.post(RESTART_ENDPOINT, () => status(200))
|
||||||
.post(FACTORY_RESET_ENDPOINT, () => status(200))
|
.post(FACTORY_RESET_ENDPOINT, () => status(200))
|
||||||
.post(UPLOAD_FILE_ENDPOINT, () => status(404)) // TODO remove upload when fixed
|
|
||||||
.post(SIGN_IN_ENDPOINT, () => signin)
|
.post(SIGN_IN_ENDPOINT, () => signin)
|
||||||
.get(GENERATE_TOKEN_ENDPOINT, () => generate_token);
|
.get(GENERATE_TOKEN_ENDPOINT, () => generate_token);
|
||||||
|
|
||||||
// uploads // TODO fix uploading later
|
|
||||||
|
|
||||||
// const progress_middleware = async (req: any) => {
|
|
||||||
// console.log('progress_middleware');
|
|
||||||
// let progress = 0;
|
|
||||||
// const file_size = req.headers['content-length'];
|
|
||||||
|
|
||||||
// // set event listener
|
|
||||||
// req.on('data', async (chunk) => {
|
|
||||||
// progress += chunk.length;
|
|
||||||
// const percentage = (progress / file_size) * 100;
|
|
||||||
// console.log(`Progress: ${Math.round(percentage)}%`);
|
|
||||||
// delay_blocking(200); // slow it down
|
|
||||||
// });
|
|
||||||
// // next(); // invoke next middleware which is multer
|
|
||||||
// };
|
|
||||||
|
|
||||||
// const withContent = async (request) => {
|
|
||||||
// const { headers } = request;
|
|
||||||
// const type = headers.get('content-type');
|
|
||||||
|
|
||||||
// // console.log(Object.getOwnPropertyNames(Object.getPrototypeOf(request)));
|
|
||||||
|
|
||||||
// if (type?.includes('form-data')) {
|
|
||||||
// console.log('withContent: got formdata');
|
|
||||||
// // request.content = await request.formData();
|
|
||||||
|
|
||||||
// // const bb = busboy({ headers: request.headers });
|
|
||||||
// // console.log('bb created');
|
|
||||||
// // bb.on('file', (name, file, info) => {
|
|
||||||
// // const { filename, encoding, mimeType } = info;
|
|
||||||
// // console.log(`File [${name}]: filename: %j, encoding: %j, mimeType: %j`, filename, encoding, mimeType);
|
|
||||||
// // request.filename = filename;
|
|
||||||
|
|
||||||
// // file
|
|
||||||
// // .on('data', (data) => {
|
|
||||||
// // console.log(`File [${name}] got ${data.length} bytes`);
|
|
||||||
// // })
|
|
||||||
// // .on('close', () => {
|
|
||||||
// // console.log(`File [${name}] done`);
|
|
||||||
// // });
|
|
||||||
// // });
|
|
||||||
// // bb.on('field', (name, val, info) => {
|
|
||||||
// // console.log(`Field [${name}]: value: %j`, val);
|
|
||||||
// // });
|
|
||||||
// // bb.on('close', () => {
|
|
||||||
// // console.log('Done parsing form!');
|
|
||||||
// // // res.writeHead(303, { Connection: 'close', Location: '/' });
|
|
||||||
// // // res.end();
|
|
||||||
// // });
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
// const makeMiddleware = (req) => {
|
|
||||||
// console.log('makeMiddleware');
|
|
||||||
// // const bb = busboy({ headers: req.headers });
|
|
||||||
|
|
||||||
// // bb.on('error', (err) => {
|
|
||||||
// // // Send this error along to the global error handler
|
|
||||||
// // console.log('Error' + err);
|
|
||||||
// // return;
|
|
||||||
// // });
|
|
||||||
// // bb.on('file', (name, file, info) => {
|
|
||||||
// // const { filename, encoding, mimeType } = info;
|
|
||||||
// // console.log(`File [${name}]: filename: %j, encoding: %j, mimeType: %j`, filename, encoding, mimeType);
|
|
||||||
// // req.filename = filename;
|
|
||||||
|
|
||||||
// // file
|
|
||||||
// // .on('data', (data) => {
|
|
||||||
// // console.log(`File [${name}] got ${data.length} bytes`);
|
|
||||||
// // })
|
|
||||||
// // .on('close', () => {
|
|
||||||
// // console.log(`File [${name}] done`);
|
|
||||||
// // });
|
|
||||||
// // });
|
|
||||||
// // bb.end(req.rawBody);
|
|
||||||
// // req.pipe(bb);
|
|
||||||
// };
|
|
||||||
|
|
||||||
// router.post(UPLOAD_FILE_ENDPOINT, withContent, makeMiddleware, progress_middleware, ({ filename }) => {
|
|
||||||
// console.log('filename: ' + filename);
|
|
||||||
|
|
||||||
// // if (req.file) {
|
|
||||||
// // const filename = req.file.originalname;
|
|
||||||
// // const ext = filename.substring(filename.lastIndexOf('.') + 1);
|
|
||||||
// // console.log(req.file);
|
|
||||||
// // console.log('ext: ' + ext);
|
|
||||||
|
|
||||||
// // if (ext === 'bin' || ext === 'json') {
|
|
||||||
// // return res.sendStatus(200);
|
|
||||||
// // } else if (ext === 'md5') {
|
|
||||||
// // return res.json({ md5: 'ef4304fc4d9025a58dcf25d71c882d2c' });
|
|
||||||
// // }
|
|
||||||
// // }
|
|
||||||
// return new Response('OK', { status: 200 });
|
|
||||||
// });
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// EMS-ESP Project stuff
|
// EMS-ESP Project stuff
|
||||||
//
|
//
|
||||||
|
|
||||||
|
function deviceData(id: number) {
|
||||||
|
if (id == 1) {
|
||||||
|
return new Response(encoder.encode(emsesp_devicedata_1), { headers });
|
||||||
|
}
|
||||||
|
if (id == 2) {
|
||||||
|
return new Response(encoder.encode(emsesp_devicedata_2), { headers });
|
||||||
|
}
|
||||||
|
if (id == 3) {
|
||||||
|
return new Response(encoder.encode(emsesp_devicedata_3), { headers });
|
||||||
|
}
|
||||||
|
if (id == 4) {
|
||||||
|
return new Response(encoder.encode(emsesp_devicedata_4), { headers });
|
||||||
|
}
|
||||||
|
if (id == 5) {
|
||||||
|
return new Response(encoder.encode(emsesp_devicedata_5), { headers });
|
||||||
|
}
|
||||||
|
if (id == 6) {
|
||||||
|
return new Response(encoder.encode(emsesp_devicedata_6), { headers });
|
||||||
|
}
|
||||||
|
if (id == 7) {
|
||||||
|
return new Response(encoder.encode(emsesp_devicedata_7), { headers });
|
||||||
|
}
|
||||||
|
if (id == 99) {
|
||||||
|
return new Response(encoder.encode(emsesp_devicedata_99), { headers });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function deviceEntities(id: number) {
|
||||||
|
if (id == 1) {
|
||||||
|
return new Response(encoder.encode(emsesp_deviceentities_1), { headers });
|
||||||
|
}
|
||||||
|
if (id == 2) {
|
||||||
|
return new Response(encoder.encode(emsesp_deviceentities_2), { headers });
|
||||||
|
}
|
||||||
|
if (id == 3) {
|
||||||
|
return new Response(encoder.encode(emsesp_deviceentities_3), { headers });
|
||||||
|
}
|
||||||
|
if (id == 4) {
|
||||||
|
return new Response(encoder.encode(emsesp_deviceentities_4), { headers });
|
||||||
|
}
|
||||||
|
if (id == 5) {
|
||||||
|
return new Response(encoder.encode(emsesp_deviceentities_5), { headers });
|
||||||
|
}
|
||||||
|
if (id == 6) {
|
||||||
|
return new Response(encoder.encode(emsesp_deviceentities_6), { headers });
|
||||||
|
}
|
||||||
|
if (id == 7) {
|
||||||
|
return new Response(encoder.encode(emsesp_deviceentities_7), { headers });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
router
|
router
|
||||||
|
|
||||||
// EMS-ESP Settings
|
// EMS-ESP Settings
|
||||||
@@ -2519,61 +2451,15 @@ router
|
|||||||
.get(EMSESP_SENSOR_DATA_ENDPOINT, () => emsesp_sensordata)
|
.get(EMSESP_SENSOR_DATA_ENDPOINT, () => emsesp_sensordata)
|
||||||
.get(EMSESP_DEVICES_ENDPOINT, () => emsesp_devices)
|
.get(EMSESP_DEVICES_ENDPOINT, () => emsesp_devices)
|
||||||
.post(EMSESP_SCANDEVICES_ENDPOINT, () => status(200))
|
.post(EMSESP_SCANDEVICES_ENDPOINT, () => status(200))
|
||||||
.get(EMSESP_DEVICEDATA_ENDPOINT, (request) => {
|
|
||||||
// const id = Number(request.params.id); // TODO when using :id
|
|
||||||
const id = Number(request.query.id);
|
|
||||||
|
|
||||||
if (id == 1) {
|
.get(EMSESP_DEVICEDATA_ENDPOINT1, (request) =>
|
||||||
return new Response(encoder.encode(emsesp_devicedata_1), { headers });
|
request.query.id ? deviceData(Number(request.query.id)) : status(404)
|
||||||
}
|
)
|
||||||
if (id == 2) {
|
.get(EMSESP_DEVICEDATA_ENDPOINT2, ({ params }) => (params.id ? deviceData(Number(params.id)) : status(404)))
|
||||||
return new Response(encoder.encode(emsesp_devicedata_2), { headers });
|
.get(EMSESP_DEVICEENTITIES_ENDPOINT1, (request) =>
|
||||||
}
|
request.query.id ? deviceEntities(Number(request.query.id)) : status(404)
|
||||||
if (id == 3) {
|
)
|
||||||
return new Response(encoder.encode(emsesp_devicedata_3), { headers });
|
.get(EMSESP_DEVICEENTITIES_ENDPOINT2, ({ params }) => (params.id ? deviceEntities(Number(params.id)) : status(404)))
|
||||||
}
|
|
||||||
if (id == 4) {
|
|
||||||
return new Response(encoder.encode(emsesp_devicedata_4), { headers });
|
|
||||||
}
|
|
||||||
if (id == 5) {
|
|
||||||
return new Response(encoder.encode(emsesp_devicedata_5), { headers });
|
|
||||||
}
|
|
||||||
if (id == 6) {
|
|
||||||
return new Response(encoder.encode(emsesp_devicedata_6), { headers });
|
|
||||||
}
|
|
||||||
if (id == 7) {
|
|
||||||
return new Response(encoder.encode(emsesp_devicedata_7), { headers });
|
|
||||||
}
|
|
||||||
if (id == 99) {
|
|
||||||
return new Response(encoder.encode(emsesp_devicedata_99), { headers });
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.get(EMSESP_DEVICEENTITIES_ENDPOINT, (request) => {
|
|
||||||
// const id = Number(request.params.id); // TODO when using :id
|
|
||||||
const id = Number(request.query.id);
|
|
||||||
|
|
||||||
if (id == 1) {
|
|
||||||
return new Response(encoder.encode(emsesp_deviceentities_1), { headers });
|
|
||||||
}
|
|
||||||
if (id == 2) {
|
|
||||||
return new Response(encoder.encode(emsesp_deviceentities_2), { headers });
|
|
||||||
}
|
|
||||||
if (id == 3) {
|
|
||||||
return new Response(encoder.encode(emsesp_deviceentities_3), { headers });
|
|
||||||
}
|
|
||||||
if (id == 4) {
|
|
||||||
return new Response(encoder.encode(emsesp_deviceentities_4), { headers });
|
|
||||||
}
|
|
||||||
if (id == 5) {
|
|
||||||
return new Response(encoder.encode(emsesp_deviceentities_5), { headers });
|
|
||||||
}
|
|
||||||
if (id == 6) {
|
|
||||||
return new Response(encoder.encode(emsesp_deviceentities_6), { headers });
|
|
||||||
}
|
|
||||||
if (id == 7) {
|
|
||||||
return new Response(encoder.encode(emsesp_deviceentities_7), { headers });
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Customization
|
// Customization
|
||||||
.post(EMSESP_CUSTOMIZATION_ENTITIES_ENDPOINT, async (request: any) => {
|
.post(EMSESP_CUSTOMIZATION_ENTITIES_ENDPOINT, async (request: any) => {
|
||||||
@@ -2660,7 +2546,7 @@ router
|
|||||||
emsesp_devicedata_99.data[objIndex].v = value;
|
emsesp_devicedata_99.data[objIndex].v = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
await delay(1000); // wait to show spinner
|
// await delay(1000); // wait to show spinner
|
||||||
return status(200);
|
return status(200);
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -2864,3 +2750,6 @@ router
|
|||||||
});
|
});
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|
||||||
|
// use this with cloudflare workers instead
|
||||||
|
// export default { ...router };
|
||||||
|
|||||||
57
mock-api/upload_server.ts
Normal file
57
mock-api/upload_server.ts
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
import express from 'express';
|
||||||
|
import multer from 'multer';
|
||||||
|
|
||||||
|
const rest_server = express();
|
||||||
|
const port = 3082;
|
||||||
|
const upload = multer({ dest: './uploads' });
|
||||||
|
|
||||||
|
const UPLOAD_FILE_ENDPOINT = '/rest/uploadFile';
|
||||||
|
|
||||||
|
// delay functions, 2 different types
|
||||||
|
const delay = (ms) => new Promise((res) => setTimeout(res, ms));
|
||||||
|
|
||||||
|
function delay_blocking(milliseconds) {
|
||||||
|
var start = new Date().getTime();
|
||||||
|
// for (var i = 0; i < 1e7; i++) {
|
||||||
|
while (true) {
|
||||||
|
if (new Date().getTime() - start > milliseconds) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function progress_middleware(req, res, next) {
|
||||||
|
let progress = 0;
|
||||||
|
const file_size = req.headers['content-length'];
|
||||||
|
console.log('Uploading file. Size ' + file_size + ' bytes');
|
||||||
|
|
||||||
|
// set event listener
|
||||||
|
req.on('data', async (chunk) => {
|
||||||
|
progress += chunk.length;
|
||||||
|
const percentage = (progress / file_size) * 100;
|
||||||
|
console.log(`Progress: ${Math.round(percentage)}%`);
|
||||||
|
// await delay(1000); // slow it down
|
||||||
|
delay_blocking(1000); // slow it down
|
||||||
|
});
|
||||||
|
next(); // invoke next middleware which is multer
|
||||||
|
}
|
||||||
|
|
||||||
|
rest_server.post(UPLOAD_FILE_ENDPOINT, progress_middleware, upload.single('file'), (req, res) => {
|
||||||
|
if (req.file) {
|
||||||
|
const filename = req.file.originalname;
|
||||||
|
const ext = filename.substring(filename.lastIndexOf('.') + 1);
|
||||||
|
console.log(req.file);
|
||||||
|
|
||||||
|
if (ext === 'bin' || ext === 'json') {
|
||||||
|
console.log('Received firmware or json file, extension: ' + ext);
|
||||||
|
return res.sendStatus(200);
|
||||||
|
} else if (ext === 'md5') {
|
||||||
|
return res.json({ md5: 'ef4304fc4d9025a58dcf25d71c882d2c' });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log('Invalid file extension');
|
||||||
|
return res.sendStatus(400);
|
||||||
|
});
|
||||||
|
|
||||||
|
// start server
|
||||||
|
rest_server.listen(port, () => console.log(`EMS-ESP File Upload mock server running on http://localhost:${port}/`));
|
||||||
@@ -140,7 +140,7 @@ __metadata:
|
|||||||
"@types/multer": "npm:^1.4.11"
|
"@types/multer": "npm:^1.4.11"
|
||||||
compression: "npm:^1.7.4"
|
compression: "npm:^1.7.4"
|
||||||
express: "npm:^4.19.2"
|
express: "npm:^4.19.2"
|
||||||
itty-router: "npm:^5.0.4"
|
itty-router: "npm:^5.0.12"
|
||||||
multer: "npm:^1.4.5-lts.1"
|
multer: "npm:^1.4.5-lts.1"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
@@ -526,10 +526,10 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"itty-router@npm:^5.0.4":
|
"itty-router@npm:^5.0.12":
|
||||||
version: 5.0.4
|
version: 5.0.12
|
||||||
resolution: "itty-router@npm:5.0.4"
|
resolution: "itty-router@npm:5.0.12"
|
||||||
checksum: 10/61c5c12b57e592ae9689782ca59d7b77154909eb52fc019c38f34e03fdce3d7fb50aad930bde0b31ef8d9131d2101141517823416886b36b81ba3ec6a0ff819e
|
checksum: 10/c103482967564471585c04ca47df7aa0b166b2081f6a746f6b699942c524c924bec598a9a61b73e9c5e31f554b27ec642121370d21f7095f63fe2cdacf365019
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
@@ -50,9 +50,11 @@ extra_scripts =
|
|||||||
|
|
||||||
[espressi32_base_tasmota]
|
[espressi32_base_tasmota]
|
||||||
; use Tasmota's library which removes some unused libs (like mbedtsl, so no WiFi_secure.h) and increases available heap
|
; use Tasmota's library which removes some unused libs (like mbedtsl, so no WiFi_secure.h) and increases available heap
|
||||||
; Tasmota Arduino Core 2.0.14 with IPv6 support, based on IDF 4.4.6
|
; Tasmota Arduino Core 2.0.14 with IPv6 support, based on IDF 4.4.6
|
||||||
platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.01.01/platform-espressif32.zip
|
; platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.01.01/platform-espressif32.zip
|
||||||
; Tasmota Arduino Core 3.0.0-alpha based on IDF v5.1.2
|
; Tasmota Arduino Core 2.0.15 with IPv6 support, based on IDF 4.4.7 / core 2.0.15
|
||||||
|
platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.04.00/platform-espressif32.zip
|
||||||
|
; Tasmota Arduino Core 3.0.0-alpha based on IDF v5.1.2
|
||||||
; platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.02.10/platform-espressif32.zip
|
; platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.02.10/platform-espressif32.zip
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board_build.filesystem = littlefs
|
board_build.filesystem = littlefs
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
@host = http://ems-esp.local
|
@host = http://ems-esp.local
|
||||||
@host_dev = http://10.10.10.20
|
@host_dev = http://10.10.10.20
|
||||||
@host_standalone = http://localhost:3080
|
@host_standalone = http://localhost:3080
|
||||||
|
@host_standalone2 = http://localhost:3082
|
||||||
|
|
||||||
@token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiYWRtaW4iOnRydWV9.2bHpWya2C7Q12WjNUBD6_7N3RCD7CMl-EGhyQVzFdDg
|
@token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiYWRtaW4iOnRydWV9.2bHpWya2C7Q12WjNUBD6_7N3RCD7CMl-EGhyQVzFdDg
|
||||||
|
|
||||||
@@ -113,4 +114,19 @@ GET {{host_dev}}/api/thermostat/seltemp
|
|||||||
|
|
||||||
GET {{host_standalone}}/api/system/info
|
GET {{host_standalone}}/api/system/info
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
|
POST {{host_standalone2}}/rest/uploadFile
|
||||||
|
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
|
||||||
|
|
||||||
|
------WebKitFormBoundary7MA4YWxkTrZu0gW
|
||||||
|
Content-Disposition: form-data; name="text"
|
||||||
|
|
||||||
|
title
|
||||||
|
------WebKitFormBoundary7MA4YWxkTrZu0gW
|
||||||
|
Content-Disposition: form-data; name="file"; filename="emsesp_settings.json"
|
||||||
|
Content-Type: application/json
|
||||||
|
|
||||||
|
< ./standalone_file_export/emsesp_settings.json
|
||||||
|
------WebKitFormBoundary7MA4YWxkTrZu0gW--
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user