diff --git a/interface/package.json b/interface/package.json index abb8b3cb7..31b808cbf 100644 --- a/interface/package.json +++ b/interface/package.json @@ -24,12 +24,12 @@ "@babel/core": "^7.23.7", "@emotion/react": "^11.11.3", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.15.3", - "@mui/material": "^5.15.3", + "@mui/icons-material": "^5.15.4", + "@mui/material": "^5.15.4", "@table-library/react-table-library": "4.1.7", "@types/imagemin": "^8.0.5", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.10.7", + "@types/node": "^20.11.0", "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@types/react-router-dom": "^5.3.3", @@ -42,8 +42,8 @@ "react": "latest", "react-dom": "latest", "react-dropzone": "^14.2.3", - "react-icons": "^4.12.0", - "react-router-dom": "^6.21.1", + "react-icons": "^5.0.1", + "react-router-dom": "^6.21.2", "react-toastify": "^9.1.3", "sockette": "^2.0.6", "typesafe-i18n": "^5.26.2", @@ -52,8 +52,8 @@ "devDependencies": { "@preact/compat": "^17.1.2", "@preact/preset-vite": "^2.8.1", - "@typescript-eslint/eslint-plugin": "^6.18.0", - "@typescript-eslint/parser": "^6.18.0", + "@typescript-eslint/eslint-plugin": "^6.18.1", + "@typescript-eslint/parser": "^6.18.1", "concurrently": "^8.2.2", "eslint": "^8.56.0", "eslint-config-airbnb": "^19.0.4", diff --git a/interface/yarn.lock b/interface/yarn.lock index 61559d54e..2d820d30e 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -401,12 +401,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/runtime@npm:7.23.6" +"@babel/runtime@npm:^7.23.7": + version: 7.23.8 + resolution: "@babel/runtime@npm:7.23.8" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 4c4ab16f0361c59fb23956e4d0a29935f1f8a64aa8dd37876ce38355b6f4d8f0e54237aacb89c73b1532def60539ddde2d651523c8fa887b30b19a8cf0c465b0 + checksum: ec8f1967a36164da6cac868533ffdff97badd76d23d7d820cc84f0818864accef972f22f9c6a710185db1e3810e353fc18c3da721e5bb3ee8bc61bdbabce03ff languageName: node linkType: hard @@ -841,41 +841,41 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.4.2": - version: 1.5.0 - resolution: "@floating-ui/core@npm:1.5.0" - dependencies: - "@floating-ui/utils": "npm:^0.1.3" - checksum: 3182715a30493f44a32158f4d77ab5b6c212064b160cb84b5b8405ec2845bd8a9167c25292709e841cad9e70c6b9efdc30f876044e3b0909139fea8eca00c631 - languageName: node - linkType: hard - -"@floating-ui/dom@npm:^1.5.1": +"@floating-ui/core@npm:^1.5.3": version: 1.5.3 - resolution: "@floating-ui/dom@npm:1.5.3" + resolution: "@floating-ui/core@npm:1.5.3" dependencies: - "@floating-ui/core": "npm:^1.4.2" - "@floating-ui/utils": "npm:^0.1.3" - checksum: d2d5ae7a0949c0ebf7fbf97a21612bf94dbd29cb6c847e00588b8e2a5575ade27c47cb19f5d230fc21a571d99aa0c714b301c9221d33921047408c0ed9d91a30 + "@floating-ui/utils": "npm:^0.2.0" + checksum: 7d9feaca2565a2a71bf03d23cd292c03def63097d7fde7d62909cdb8ddb84664781f3922086bcf10443f3310cb92381a0ecf745b2774edb917fa74fe61015c56 languageName: node linkType: hard -"@floating-ui/react-dom@npm:^2.0.4": - version: 2.0.4 - resolution: "@floating-ui/react-dom@npm:2.0.4" +"@floating-ui/dom@npm:^1.5.4": + version: 1.5.4 + resolution: "@floating-ui/dom@npm:1.5.4" dependencies: - "@floating-ui/dom": "npm:^1.5.1" + "@floating-ui/core": "npm:^1.5.3" + "@floating-ui/utils": "npm:^0.2.0" + checksum: 3ba02ba2b4227c1e18df6ccdd029a1c100058db2e76ca1dac60a593ec72b2d4d995fa5c2d1639a5c38adb17e12398fbfe4f6cf5fd45f2ee6170ed0cf64acea06 + languageName: node + linkType: hard + +"@floating-ui/react-dom@npm:^2.0.5": + version: 2.0.5 + resolution: "@floating-ui/react-dom@npm:2.0.5" + dependencies: + "@floating-ui/dom": "npm:^1.5.4" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 4240a718502c797fd2e174cd06dcd7321a6eda9c8966dbaf61864b9e16445e95649a59bfe7c19ee13f68c11f3693724d7970c7e618089a3d3915bd343639cfae + checksum: b4fc008c725149b9565949184d844c914a8fa2687636c3c1166a1d52ca58537b3ba9b0a0e2945cf424662c846e60b173df0d325af7e700a31550e5e0b346070a languageName: node linkType: hard -"@floating-ui/utils@npm:^0.1.3": - version: 0.1.6 - resolution: "@floating-ui/utils@npm:0.1.6" - checksum: 450ec4ecc1dd8161b1904d4e1e9d95e653cc06f79af6c3b538b79efb10541d90bcc88646ab3cdffc5b92e00c4804ca727b025d153ad285f42dbbb39aec219ec9 +"@floating-ui/utils@npm:^0.2.0": + version: 0.2.1 + resolution: "@floating-ui/utils@npm:0.2.1" + checksum: 33c9ab346e7b05c5a1e6a95bc902aafcfc2c9d513a147e2491468843bd5607531b06d0b9aa56aa491cbf22a6c2495c18ccfc4c0344baec54a689a7bb8e4898d6 languageName: node linkType: hard @@ -970,16 +970,16 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.30": - version: 5.0.0-beta.30 - resolution: "@mui/base@npm:5.0.0-beta.30" +"@mui/base@npm:5.0.0-beta.31": + version: 5.0.0-beta.31 + resolution: "@mui/base@npm:5.0.0-beta.31" dependencies: - "@babel/runtime": "npm:^7.23.6" - "@floating-ui/react-dom": "npm:^2.0.4" - "@mui/types": "npm:^7.2.12" - "@mui/utils": "npm:^5.15.3" + "@babel/runtime": "npm:^7.23.7" + "@floating-ui/react-dom": "npm:^2.0.5" + "@mui/types": "npm:^7.2.13" + "@mui/utils": "npm:^5.15.4" "@popperjs/core": "npm:^2.11.8" - clsx: "npm:^2.0.0" + clsx: "npm:^2.1.0" prop-types: "npm:^15.8.1" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -988,22 +988,22 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 55e18d59ac96f5bbfbfdadd907751f5e6a4f74f611b5e99fe5f8002c76fa117b62c159f52ea0f12574a66460d62734082438cff19cb73e3fca9dc22f82f6eaf2 + checksum: 0fddfad690e6ed9e022e269e29632f975f69c04179f564627a266fbd23457832704a819a36314438083322da4e52827fd6b1b248b058b7d18b4c8322cb60fedb languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.15.3": - version: 5.15.3 - resolution: "@mui/core-downloads-tracker@npm:5.15.3" - checksum: 002451af1aa555c0163c0ffacde5c15062e0ae0f30b81945e1a0befe7b6c5d14924a2b068b7b5f713c177ee3eecca4fc250d590d11206a6b5465700c399a34d1 +"@mui/core-downloads-tracker@npm:^5.15.4": + version: 5.15.4 + resolution: "@mui/core-downloads-tracker@npm:5.15.4" + checksum: 89662279a89fb48ef9d6bd7914adca095d59fef2b70e288e965b4a959b623d6604ab809ca7b5fe0aae8df026693307043da66cc8280c8f78b89d364003a075e2 languageName: node linkType: hard -"@mui/icons-material@npm:^5.15.3": - version: 5.15.3 - resolution: "@mui/icons-material@npm:5.15.3" +"@mui/icons-material@npm:^5.15.4": + version: 5.15.4 + resolution: "@mui/icons-material@npm:5.15.4" dependencies: - "@babel/runtime": "npm:^7.23.6" + "@babel/runtime": "npm:^7.23.7" peerDependencies: "@mui/material": ^5.0.0 "@types/react": ^17.0.0 || ^18.0.0 @@ -1011,22 +1011,22 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 2393a9dcd0834cdda728b8ebca5d8f6acbfc34316346aaea257e32961abf7cf578419df196b50223b89b3e2556098aea283786ca4eeedaf58be3d204f499f6bc + checksum: 1c9be5d3e23a6b565a36d36065e8a2480feebfb497ea7367f7fd32f90164e46420e5be8117fcfd05f2a3c1940b8fa48f56caccc19da78849fc8bda037f186954 languageName: node linkType: hard -"@mui/material@npm:^5.15.3": - version: 5.15.3 - resolution: "@mui/material@npm:5.15.3" +"@mui/material@npm:^5.15.4": + version: 5.15.4 + resolution: "@mui/material@npm:5.15.4" dependencies: - "@babel/runtime": "npm:^7.23.6" - "@mui/base": "npm:5.0.0-beta.30" - "@mui/core-downloads-tracker": "npm:^5.15.3" - "@mui/system": "npm:^5.15.3" - "@mui/types": "npm:^7.2.12" - "@mui/utils": "npm:^5.15.3" + "@babel/runtime": "npm:^7.23.7" + "@mui/base": "npm:5.0.0-beta.31" + "@mui/core-downloads-tracker": "npm:^5.15.4" + "@mui/system": "npm:^5.15.4" + "@mui/types": "npm:^7.2.13" + "@mui/utils": "npm:^5.15.4" "@types/react-transition-group": "npm:^4.4.10" - clsx: "npm:^2.0.0" + clsx: "npm:^2.1.0" csstype: "npm:^3.1.2" prop-types: "npm:^15.8.1" react-is: "npm:^18.2.0" @@ -1044,16 +1044,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: fe8d318aed036b649a82e4833254f833ece028b6a25cec001991e6864d9e520752df6a746b6ca856c0310cc9aae16697aa77ddf53a85c889bb5d04c5aa5c1dcb + checksum: e089f3994d4dcfd19976994f251369b2e978f3405503d23a7ac2b8617cedb8b5dd7a7bb6ea523402b5c7a9467f0b604bf11f2a515bf460498dc1b1afff58b490 languageName: node linkType: hard -"@mui/private-theming@npm:^5.15.3": - version: 5.15.3 - resolution: "@mui/private-theming@npm:5.15.3" +"@mui/private-theming@npm:^5.15.4": + version: 5.15.4 + resolution: "@mui/private-theming@npm:5.15.4" dependencies: - "@babel/runtime": "npm:^7.23.6" - "@mui/utils": "npm:^5.15.3" + "@babel/runtime": "npm:^7.23.7" + "@mui/utils": "npm:^5.15.4" prop-types: "npm:^15.8.1" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -1061,15 +1061,15 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 4404a7d9545974631b329f391df72fa54edb5aefa6d32d9656b200284613e8ea1bdd3d0add2abe7278f1343dd5cf7552c7e4d2aaf5593f292c7db3cd63ddff21 + checksum: 925d46ae20a451d32d3ba5b262260e2655dcef68846e1d546014adb9b6abc490a1a40f59b8224770663d10790003ac0163923b206263722f52c00550b424f447 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.15.3": - version: 5.15.3 - resolution: "@mui/styled-engine@npm:5.15.3" +"@mui/styled-engine@npm:^5.15.4": + version: 5.15.4 + resolution: "@mui/styled-engine@npm:5.15.4" dependencies: - "@babel/runtime": "npm:^7.23.6" + "@babel/runtime": "npm:^7.23.7" "@emotion/cache": "npm:^11.11.0" csstype: "npm:^3.1.2" prop-types: "npm:^15.8.1" @@ -1082,20 +1082,20 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: 6775f92cda9f17428baf5b95e5849f31eead92485e332902ff29bd49bd03fbe2f5e762ebcdd122f7f31e102ec42cda29cbb5fdef79f5d03f416705d119b69e75 + checksum: 0b3737c8934d41742ada477ee283e0fbbeaed0032a3f97bbebfa7f5788987d882b7f60c7b49a10367db6a3ed24ed3ae76df0f202d0f3e4872c0cee2dc40b2542 languageName: node linkType: hard -"@mui/system@npm:^5.15.3": - version: 5.15.3 - resolution: "@mui/system@npm:5.15.3" +"@mui/system@npm:^5.15.4": + version: 5.15.4 + resolution: "@mui/system@npm:5.15.4" dependencies: - "@babel/runtime": "npm:^7.23.6" - "@mui/private-theming": "npm:^5.15.3" - "@mui/styled-engine": "npm:^5.15.3" - "@mui/types": "npm:^7.2.12" - "@mui/utils": "npm:^5.15.3" - clsx: "npm:^2.0.0" + "@babel/runtime": "npm:^7.23.7" + "@mui/private-theming": "npm:^5.15.4" + "@mui/styled-engine": "npm:^5.15.4" + "@mui/types": "npm:^7.2.13" + "@mui/utils": "npm:^5.15.4" + clsx: "npm:^2.1.0" csstype: "npm:^3.1.2" prop-types: "npm:^15.8.1" peerDependencies: @@ -1110,27 +1110,27 @@ __metadata: optional: true "@types/react": optional: true - checksum: 7b71cad3c3b4f8136cf51a9e7040440073201618eaa5d0fcbd8830e3c3f35eb8a38303bb2bc9da84e0c95844193fdb4238af50e1f1d74a8e9fa79500a49c31db + checksum: 4408bb70e74d851e29e50411283eb06596a62f9b0b46fc6ce0727122b89fe52ba56a27f209e52b09c8c85f4db8000db845205fa42ae393f7da34e507fbbf15cb languageName: node linkType: hard -"@mui/types@npm:^7.2.12": - version: 7.2.12 - resolution: "@mui/types@npm:7.2.12" +"@mui/types@npm:^7.2.13": + version: 7.2.13 + resolution: "@mui/types@npm:7.2.13" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 7d3ef53fee7eddc063d2083dc129f7d6d38b472a9196c3522fc5a75e66849fbf2b824be3f6aee11dc02c4475864e544026e6051ffb9d33f5dc1fc2a2279a8b72 + checksum: a35bff025f715073329bd7cbe11ef4ce331ea377adffc0c5cd264bea47283590ce928d1fdbbc27506d1d462151325c81e71f2378ac4335feef3042010bbf3fcd languageName: node linkType: hard -"@mui/utils@npm:^5.15.3": - version: 5.15.3 - resolution: "@mui/utils@npm:5.15.3" +"@mui/utils@npm:^5.15.4": + version: 5.15.4 + resolution: "@mui/utils@npm:5.15.4" dependencies: - "@babel/runtime": "npm:^7.23.6" + "@babel/runtime": "npm:^7.23.7" "@types/prop-types": "npm:^15.7.11" prop-types: "npm:^15.8.1" react-is: "npm:^18.2.0" @@ -1140,7 +1140,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: c4d66e34332f448527c6dea66a7011f95dc230ccaf5a3ee898a6fd69b77a3584af1fd644d095dc7edb2d480e5c050db06f9b9ec9dea3bc5091a80cf8b676f709 + checksum: 8e940d2be7365adee51a33e6e8ee889fd8d7aa2d246c80ff28daa949125199cfb1a6b39aa86af5ceda434e7edc2ffe19015f0e9297275de1f22dc9662d19ffef languageName: node linkType: hard @@ -1277,10 +1277,10 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.14.1": - version: 1.14.1 - resolution: "@remix-run/router@npm:1.14.1" - checksum: caed61639006444a66ca832f1e500bac2fcf02695183e967ff1452d3172f888f2bb40591b239c85f9003b9628383cfd4c8ef55cde800d14276905c7031c9f0b9 +"@remix-run/router@npm:1.14.2": + version: 1.14.2 + resolution: "@remix-run/router@npm:1.14.2" + checksum: 422844e88b985f1e287301b302c6cf8169c9eea792f80d40464f97b25393bb2e697228ebd7a7b61444d5a51c5873c4a637aad20acde5886a5caf62e833c5ceee languageName: node linkType: hard @@ -1568,12 +1568,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.10.7": - version: 20.10.7 - resolution: "@types/node@npm:20.10.7" +"@types/node@npm:^20.11.0": + version: 20.11.0 + resolution: "@types/node@npm:20.11.0" dependencies: undici-types: "npm:~5.26.4" - checksum: 4a1ba3fb7fc0a262c6b2d5ec763cec7abf5b5d6b2d277798ddbf05227f5778f9a806987821fd4d3eacd6f37c946ac61a9c64fb79ae4b84daaec12354158835a3 + checksum: 8da60a8ccb65181c3d6f7686ddc5f1b1616cafa14d9e520a866adff82c17cc99336a78dd7ce7bee8f54e2332946f678b0e3aa377fbaaf751d3c05b64600872c6 languageName: node linkType: hard @@ -1691,15 +1691,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/eslint-plugin@npm:6.18.0" +"@typescript-eslint/eslint-plugin@npm:^6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/eslint-plugin@npm:6.18.1" dependencies: "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:6.18.0" - "@typescript-eslint/type-utils": "npm:6.18.0" - "@typescript-eslint/utils": "npm:6.18.0" - "@typescript-eslint/visitor-keys": "npm:6.18.0" + "@typescript-eslint/scope-manager": "npm:6.18.1" + "@typescript-eslint/type-utils": "npm:6.18.1" + "@typescript-eslint/utils": "npm:6.18.1" + "@typescript-eslint/visitor-keys": "npm:6.18.1" debug: "npm:^4.3.4" graphemer: "npm:^1.4.0" ignore: "npm:^5.2.4" @@ -1712,44 +1712,44 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 7810a84f6d9cb735f6848aa4a7ef64c77740812afc0248fda63ec182910a1d045cd9a32d8e49b0e5323266db6da12a2fe50171147927b3186815a56f12c16ee7 + checksum: 451abba1f784539ba38cbe40af26c461facd848e90cbf0c440a98ca2a770ff74a794bafe1df7240e52a97e7cd72bade97d5de751dffbac269643460ad65e3b19 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/parser@npm:6.18.0" +"@typescript-eslint/parser@npm:^6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/parser@npm:6.18.1" dependencies: - "@typescript-eslint/scope-manager": "npm:6.18.0" - "@typescript-eslint/types": "npm:6.18.0" - "@typescript-eslint/typescript-estree": "npm:6.18.0" - "@typescript-eslint/visitor-keys": "npm:6.18.0" + "@typescript-eslint/scope-manager": "npm:6.18.1" + "@typescript-eslint/types": "npm:6.18.1" + "@typescript-eslint/typescript-estree": "npm:6.18.1" + "@typescript-eslint/visitor-keys": "npm:6.18.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 6798332819f839454a8405e31cfaa0fe908d5966be929bef55e78ac51a0ff3868feb42b38e7772cedf88277f6b2841b3d91f6c573eacb945e2741ecae94047c7 + checksum: b853d39dcf886668f9aa9ea12094e722d35be20855dc7f01c80ee847bf4f7e27aa74693c3a33d4d813705214bda28be1d6c7ca29e590233f894f556203171d29 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/scope-manager@npm:6.18.0" +"@typescript-eslint/scope-manager@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/scope-manager@npm:6.18.1" dependencies: - "@typescript-eslint/types": "npm:6.18.0" - "@typescript-eslint/visitor-keys": "npm:6.18.0" - checksum: c2c465e6803f78d3300142167a8a79dd2613c64cf464a40a9cf6b13a2c10c3d82ca30bb9c2d26aba7f054b8740b38e1d25f377fcdf917aba489d5b5ea2550858 + "@typescript-eslint/types": "npm:6.18.1" + "@typescript-eslint/visitor-keys": "npm:6.18.1" + checksum: ab75663cda67a2c95267f240f2e062a0aafab0df6d625043a134c8e1d61e193c0d3cfa49c802bd554b3fd80f4b7df5ea3f86ef2eb6994ba8b5e0790cc9868c84 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/type-utils@npm:6.18.0" +"@typescript-eslint/type-utils@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/type-utils@npm:6.18.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:6.18.0" - "@typescript-eslint/utils": "npm:6.18.0" + "@typescript-eslint/typescript-estree": "npm:6.18.1" + "@typescript-eslint/utils": "npm:6.18.1" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.0.1" peerDependencies: @@ -1757,23 +1757,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 9f4a392fe7b7f6b1fb02acbdaa331e764775f6404c29ca66774419e39552523d878227020526ca9c438d997555a99600f8d711496e9a435fb14a779e25ed094e + checksum: f775011c35aef10b11e7cffde698fca8b06b313785cd44422c60a40b6643d85a38cbd9a3cbdef011d963680d65383c40988d983e9dfd01258ae50a2f37f6d293 languageName: node linkType: hard -"@typescript-eslint/types@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/types@npm:6.18.0" - checksum: fc507ca7a1bfec04467087165ff6722f7b9aa9a089ecf0c17656824a951b92ca014766e480122de850057c63a3066628985eb0681c5bbb80ab41d94e7bb52288 +"@typescript-eslint/types@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/types@npm:6.18.1" + checksum: e304620953257a5af3b323697845d3fb41ffbb7944df2f84559675ef8ad71cc33011be30149efd8d34c5dedcbe92c6abee67cb1b95cb3dd56f15b9393b3435a6 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.18.0" +"@typescript-eslint/typescript-estree@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/typescript-estree@npm:6.18.1" dependencies: - "@typescript-eslint/types": "npm:6.18.0" - "@typescript-eslint/visitor-keys": "npm:6.18.0" + "@typescript-eslint/types": "npm:6.18.1" + "@typescript-eslint/visitor-keys": "npm:6.18.1" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -1783,34 +1783,34 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: b65392e944baba97ed98e99a1e7122b7b05fa0d9a082b48d0190b377ae9e2ae4ed72d505a2f0f05f2ca78908f0e4b0f1acd44d345c7f4f4415fcec6bb2c57791 + checksum: 33307bc87c3270f84f149545da79a15afaafacc5671e42f4aa827947f09c35ed114705f108ffa59d6ab175f8b838aa08cf10f9efe5b7793aca0792f879bbc7ca languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/utils@npm:6.18.0" +"@typescript-eslint/utils@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/utils@npm:6.18.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" "@types/json-schema": "npm:^7.0.12" "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.18.0" - "@typescript-eslint/types": "npm:6.18.0" - "@typescript-eslint/typescript-estree": "npm:6.18.0" + "@typescript-eslint/scope-manager": "npm:6.18.1" + "@typescript-eslint/types": "npm:6.18.1" + "@typescript-eslint/typescript-estree": "npm:6.18.1" semver: "npm:^7.5.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 - checksum: f91798069e337ed42b7e415aabded833d540dab9adf66ae88183003428892584946f20a5496aae2dc65fc0f65b66496baed785a3470ee782b6e2dd25b9200c6c + checksum: 967728f062ec7ef434b9d05af6b45ae59e0f8f314e4aa7cefc8e2c30a277cf269b7913f3e9f8d26a86c3faf8b2c9385ba1221cfcd856e9b228421fc6508b41bc languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.18.0" +"@typescript-eslint/visitor-keys@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/visitor-keys@npm:6.18.1" dependencies: - "@typescript-eslint/types": "npm:6.18.0" + "@typescript-eslint/types": "npm:6.18.1" eslint-visitor-keys: "npm:^3.4.1" - checksum: bf34a357549d515607c761f385b7c7c82aaa07795cada0be2e1e3860c5103fbf731408ac07eaeb0517b51426d77ef9b194dfb94f205c776107a46e0d0027b452 + checksum: 2d6c5ffa52e89caec0b4958d7079fb4ca9f17c19b5f5d5b8446b4eef0079fd59cd9959f469cc13c4e7d72ef4c47849e561fe323f3cebafa01bc916d43082e57b languageName: node linkType: hard @@ -1829,19 +1829,19 @@ __metadata: "@babel/core": "npm:^7.23.7" "@emotion/react": "npm:^11.11.3" "@emotion/styled": "npm:^11.11.0" - "@mui/icons-material": "npm:^5.15.3" - "@mui/material": "npm:^5.15.3" + "@mui/icons-material": "npm:^5.15.4" + "@mui/material": "npm:^5.15.4" "@preact/compat": "npm:^17.1.2" "@preact/preset-vite": "npm:^2.8.1" "@table-library/react-table-library": "npm:4.1.7" "@types/imagemin": "npm:^8.0.5" "@types/lodash-es": "npm:^4.17.12" - "@types/node": "npm:^20.10.7" + "@types/node": "npm:^20.11.0" "@types/react": "npm:^18.2.47" "@types/react-dom": "npm:^18.2.18" "@types/react-router-dom": "npm:^5.3.3" - "@typescript-eslint/eslint-plugin": "npm:^6.18.0" - "@typescript-eslint/parser": "npm:^6.18.0" + "@typescript-eslint/eslint-plugin": "npm:^6.18.1" + "@typescript-eslint/parser": "npm:^6.18.1" alova: "npm:^2.16.2" async-validator: "npm:^4.2.5" concurrently: "npm:^8.2.2" @@ -1865,8 +1865,8 @@ __metadata: react: "npm:latest" react-dom: "npm:latest" react-dropzone: "npm:^14.2.3" - react-icons: "npm:^4.12.0" - react-router-dom: "npm:^6.21.1" + react-icons: "npm:^5.0.1" + react-router-dom: "npm:^6.21.2" react-toastify: "npm:^9.1.3" rollup-plugin-visualizer: "npm:^5.12.0" sockette: "npm:^2.0.6" @@ -2624,10 +2624,10 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^2.0.0": - version: 2.0.0 - resolution: "clsx@npm:2.0.0" - checksum: 943766d1b02fee3538c871e56638d87f973fbc2d6291ce221215ea436fdecb9be97ad323f411839c2d52c45640c449b1a53fbfe7e8b3d529b4e263308b630c9a +"clsx@npm:^2.1.0": + version: 2.1.0 + resolution: "clsx@npm:2.1.0" + checksum: 2e0ce7c3b6803d74fc8147c408f88e79245583202ac14abd9691e2aebb9f312de44270b79154320d10bb7804a9197869635d1291741084826cff20820f31542b languageName: node linkType: hard @@ -7202,12 +7202,12 @@ __metadata: languageName: node linkType: hard -"react-icons@npm:^4.12.0": - version: 4.12.0 - resolution: "react-icons@npm:4.12.0" +"react-icons@npm:^5.0.1": + version: 5.0.1 + resolution: "react-icons@npm:5.0.1" peerDependencies: react: "*" - checksum: 5cc20509ca0b182f1e7bf42c271846c48f688c8922e2439f48728805adc93ba18476a13588cbe91ee43a2d03b2787e0dc0b5cc4b9c4e4ae3426f4464b3c1b734 + checksum: c4458c643ae32a793ddebc5fa1235c7ec051be1b131205510e8199d15a4c89221a501f95a71fa21c2da93e8dd225290e2e24bb80abd3fb85801e43009e692098 languageName: node linkType: hard @@ -7225,27 +7225,27 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.21.1": - version: 6.21.1 - resolution: "react-router-dom@npm:6.21.1" +"react-router-dom@npm:^6.21.2": + version: 6.21.2 + resolution: "react-router-dom@npm:6.21.2" dependencies: - "@remix-run/router": "npm:1.14.1" - react-router: "npm:6.21.1" + "@remix-run/router": "npm:1.14.2" + react-router: "npm:6.21.2" peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 2d75bd889828fa5516ad076b44506656d826c365645e7079138cd0ef899db28a1b212f708a6c6e3b543ae11b96b2031f01201cc2fe1733dd4d9c5cbdd4d734ef + checksum: 24d1470e68f11369776c623b8873c8cf0af476d102317cb3aa6b13b48c86908f10a6e51209ce24dccf40e429538d4e23fda796c190f2ff98f894cb476d51f44d languageName: node linkType: hard -"react-router@npm:6.21.1": - version: 6.21.1 - resolution: "react-router@npm:6.21.1" +"react-router@npm:6.21.2": + version: 6.21.2 + resolution: "react-router@npm:6.21.2" dependencies: - "@remix-run/router": "npm:1.14.1" + "@remix-run/router": "npm:1.14.2" peerDependencies: react: ">=16.8" - checksum: 1220cc75e0c915a26dde9dbb6509a8f0b0163d96e5ad591af91d9bb5a92a18401718f8d872a03d1cb366e7a6216c165a5cadd12375adf97943f37d7f5c487a90 + checksum: 08701bfe9e7b860442dd0f3c6e36d3ea6106d86db5ec9da930fd56d5782a13b82612826de7dd31bb38832f3fa76437d7a0ca36e63a76256f62d5b738f529a48c languageName: node linkType: hard diff --git a/lib/framework/ESP8266React.cpp b/lib/framework/ESP8266React.cpp index 158e5640d..d182dafa7 100644 --- a/lib/framework/ESP8266React.cpp +++ b/lib/framework/ESP8266React.cpp @@ -54,7 +54,7 @@ void ESP8266React::begin() { DefaultHeaders::Instance().addHeader("Access-Control-Allow-Headers", "Accept, Content-Type, Authorization"); DefaultHeaders::Instance().addHeader("Access-Control-Allow-Credentials", "true"); } - DefaultHeaders::Instance().addHeader("Server", networkSettings.hostname); // TODO use hostname + DefaultHeaders::Instance().addHeader("Server", networkSettings.hostname); }); _apSettingsService.begin(); _ntpSettingsService.begin(); diff --git a/src/console.cpp b/src/console.cpp index 0947bebef..1d642dfee 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -128,14 +128,16 @@ static void setup_commands(std::shared_ptr & commands) { commands->add_command(ShellContext::MAIN, CommandFlags::USER, string_vector{"test"}, - string_vector{F_(name_optional), F_(data_optional)}, + string_vector{F_(name_optional), F_(data_optional), F_(id_optional)}, [=](Shell & shell, const std::vector & arguments) { if (arguments.empty()) { Test::run_test(shell, "default"); } else if (arguments.size() == 1) { Test::run_test(shell, arguments.front()); - } else { + } else if (arguments.size() == 2) { Test::run_test(shell, arguments[0].c_str(), arguments[1].c_str()); + } else { + Test::run_test(shell, arguments[0].c_str(), arguments[1].c_str(), arguments[2].c_str()); } }); commands->add_command(ShellContext::MAIN, CommandFlags::USER, string_vector{"t"}, [=](Shell & shell, const std::vector & arguments) { diff --git a/src/mqtt.h b/src/mqtt.h index f15c165a5..909c2e5e7 100644 --- a/src/mqtt.h +++ b/src/mqtt.h @@ -77,20 +77,20 @@ class Mqtt { static bool queue_remove_topic(const char * topic); static bool publish_ha_sensor_config(DeviceValue & dv, const char * model, const char * brand, const bool remove, const bool create_device_config = false); - static bool publish_ha_sensor_config(uint8_t type, - uint8_t tag, - const char * const fullname, - const char * const en_name, - const uint8_t device_type, - const char * const entity, - const uint8_t uom, - const bool remove, - const bool has_cmd, - const char * const ** options, - uint8_t options_size, - const int16_t dv_set_min, - const uint32_t dv_set_max, - const int8_t num_op, + static bool publish_ha_sensor_config(uint8_t type, + uint8_t tag, + const char * const fullname, + const char * const en_name, + const uint8_t device_type, + const char * const entity, + const uint8_t uom, + const bool remove, + const bool has_cmd, + const char * const ** options, + uint8_t options_size, + const int16_t dv_set_min, + const uint32_t dv_set_max, + const int8_t num_op, const JsonObjectConst dev_json); static bool publish_system_ha_sensor_config(uint8_t type, const char * name, const char * entity, const uint8_t uom); @@ -167,6 +167,10 @@ class Mqtt { return entity_format_; } + static void entity_format(uint8_t n) { + entity_format_ = n; + } + static uint8_t discovery_type() { return discovery_type_; } diff --git a/src/system.cpp b/src/system.cpp index 029620b75..31bcfaf4a 100644 --- a/src/system.cpp +++ b/src/system.cpp @@ -1467,7 +1467,7 @@ bool System::command_info(const char * value, const int8_t id, JsonObject output #if defined(EMSESP_TEST) // run a test, e.g. http://ems-esp/api?device=system&cmd=test&data=boiler bool System::command_test(const char * value, const int8_t id) { - return Test::run_test(value, id); + return Test::test(value, id); } #endif diff --git a/src/test/test.cpp b/src/test/test.cpp index df085ca74..e11897da1 100644 --- a/src/test/test.cpp +++ b/src/test/test.cpp @@ -1,7 +1,6 @@ - /* * EMS-ESP - https://github.com/emsesp/EMS-ESP -* Copyright 2020-2023 Paul Derbyshire + * Copyright 2020-2023 Paul Derbyshire * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,12 +24,19 @@ namespace emsesp { // no shell, called via the API or 'call system test' command // or http://ems-esp/api?device=system&cmd=test&data=boiler -bool Test::run_test(const char * command, int8_t id) { - if ((command == nullptr) || (strlen(command) == 0)) { +bool Test::test(const std::string & cmd, int8_t id1, int8_t id2) { + if (cmd.empty()) { return false; } - if (strcmp(command, "memory") == 0) { + if (cmd == "add") { + Mqtt::entity_format(Mqtt::entityFormat::SINGLE_LONG); // SINGLE_LONG, SINGLE_SHORT, MULTI_SHORT + System::test_set_all_active(true); // include all entities and give them fake values + add_device(id1, id2); + return true; + } + + if (cmd == "memory") { EMSESP::logger().notice("Testing memory by adding lots of devices and entities..."); System::test_set_all_active(true); // include all entities and give them fake values @@ -43,7 +49,7 @@ bool Test::run_test(const char * command, int8_t id) { return true; } - if (strcmp(command, "general") == 0) { + if (cmd == "general") { EMSESP::logger().info("Testing general. Adding a Boiler and Thermostat"); // System::test_set_all_active(true); // uncomment if we want to show all entities and give them fake values @@ -77,7 +83,7 @@ bool Test::run_test(const char * command, int8_t id) { // #ifdef EMSESP_STANDALONE - if (strcmp(command, "heat_exchange") == 0) { + if (cmd == "heat_exchange") { EMSESP::logger().info("Testing heating exchange..."); add_device(0x08, 219); // Greenstar HIU/Logamax kompakt WS170 @@ -89,7 +95,7 @@ bool Test::run_test(const char * command, int8_t id) { return true; } - if (strcmp(command, "2thermostats") == 0) { + if (cmd == "2thermostats") { EMSESP::logger().info("Testing with multiple thermostats..."); add_device(0x08, 123); // GB072 @@ -121,7 +127,7 @@ bool Test::run_test(const char * command, int8_t id) { return true; } - if (strcmp(command, "310") == 0) { + if (cmd == "310") { EMSESP::logger().info("Adding a GB072/RC310 combo..."); add_device(0x08, 123); // GB072 @@ -148,7 +154,7 @@ bool Test::run_test(const char * command, int8_t id) { return true; } - if (strcmp(command, "gateway") == 0) { + if (cmd == "gateway") { EMSESP::logger().info("Adding a Gateway..."); // add 0x48 KM200, via a version command @@ -168,7 +174,7 @@ bool Test::run_test(const char * command, int8_t id) { return true; } - if (strcmp(command, "mixer") == 0) { + if (cmd == "mixer") { EMSESP::logger().info("Adding a mixer..."); // add controller @@ -190,7 +196,7 @@ bool Test::run_test(const char * command, int8_t id) { return true; } - if (strcmp(command, "boiler") == 0) { + if (cmd == "boiler") { EMSESP::logger().info("Adding boiler..."); add_device(0x08, 123); // Nefit Trendline @@ -207,7 +213,7 @@ bool Test::run_test(const char * command, int8_t id) { return true; } - if (strcmp(command, "thermostat") == 0) { + if (cmd == "thermostat") { EMSESP::logger().info("Adding thermostat..."); add_device(0x10, 192); // FW120 @@ -220,7 +226,7 @@ bool Test::run_test(const char * command, int8_t id) { return true; } - if (strcmp(command, "solar") == 0) { + if (cmd == "solar") { EMSESP::logger().info("Adding solar..."); add_device(0x30, 163); // SM100 @@ -239,7 +245,7 @@ bool Test::run_test(const char * command, int8_t id) { return true; } - if (strcmp(command, "heatpump") == 0) { + if (cmd == "heatpump") { EMSESP::logger().info("Adding heatpump..."); add_device(0x38, 200); // Enviline module @@ -258,11 +264,13 @@ bool Test::run_test(const char * command, int8_t id) { } // These next tests are run from the Consol via the test command, so inherit the Shell -void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const std::string & data) { +void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const std::string & id1_s, const std::string & id2_s) { shell.add_flags(CommandFlags::ADMIN); // switch to su // init stuff Mqtt::ha_enabled(true); + Mqtt::entity_format(Mqtt::entityFormat::SINGLE_SHORT); // SINGLE_LONG, SINGLE_SHORT, MULTI_SHORT + EMSESP::rxservice_.ems_mask(EMSbus::EMS_MASK_BUDERUS); // EMSESP::watch(EMSESP::Watch::WATCH_RAW); // raw mode @@ -275,11 +283,36 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const command = cmd; } + // extract params + int8_t id1 = -1; + int8_t id2 = -1; + if (!id1_s.empty()) { + if (id1_s[0] == '0' && id1_s[1] == 'x') { + id1 = Helpers::hextoint(id1_s.c_str()); + } else { + id1 = Helpers::atoint(id1_s.c_str()); + } + } + if (!id2_s.empty()) { + id2 = Helpers::atoint(id2_s.c_str()); + } + bool ok = false; + if (command == "add") { + shell.printfln("Testing Adding a device (product_id %d), with all values...", id2); + test("add", id1, id2); // e.g. 8 172 + shell.invoke_command("show values"); + ok = true; + } + + // TODO Fix ! + // operating time compressor heating (uptimecompheating: 0 days 3 hours 27 minutes + // concat!!! + if (command == "general") { shell.printfln("Testing adding a boiler, thermostat and sensors..."); - run_test("general"); + test("general"); // add sensors emsesp::EMSESP::analogsensor_.test(); @@ -296,14 +329,14 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const // https://github.com/emsesp/EMS-ESP32/issues/869 if (command == "memory") { shell.printfln("Testing memory by adding lots of devices and entities..."); - run_test("memory"); + test("memory"); shell.invoke_command("show values"); ok = true; } if (command == "custom_entities") { shell.printfln("custom entities..."); - run_test("general"); + test("general"); #ifdef EMSESP_STANDALONE AsyncWebServerRequest request; @@ -318,7 +351,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "coldshot") { shell.printfln("Testing coldshot..."); - run_test("general"); + test("general"); #ifdef EMSESP_STANDALONE AsyncWebServerRequest request; @@ -370,7 +403,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "modes") { shell.printfln("Testing thermostat modes..."); - run_test("general"); + test("general"); shell.invoke_command("call thermostat mode auto"); shell.invoke_command("call thermostat mode Manuell"); // DE shell.invoke_command("call thermostat mode 1"); @@ -506,13 +539,13 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "gateway") { shell.printfln("Testing Gateway..."); - run_test("gateway"); + test("gateway"); ok = true; } if (command == "310") { shell.printfln("Testing RC310..."); - run_test("310"); + test("310"); shell.invoke_command("show devices"); shell.invoke_command("show values"); shell.invoke_command("call system publish"); @@ -522,7 +555,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "heat_exchange") { shell.printfln("Testing heat exchange..."); - run_test("heat_exchange"); + test("heat_exchange"); shell.invoke_command("show devices"); shell.invoke_command("show values"); ok = true; @@ -530,7 +563,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "2thermostats") { shell.printfln("Testing multiple thermostats..."); - run_test("2thermostats"); + test("2thermostats"); shell.invoke_command("show values"); shell.invoke_command("show devices"); ok = true; @@ -542,8 +575,8 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const Mqtt::enabled(false); // turn off mqtt Mqtt::ha_enabled(false); // turn off ha - run_test("boiler"); - run_test("thermostat"); + test("boiler"); + test("thermostat"); JsonDocument doc; // some absurd high number for (const auto & emsdevice : EMSESP::emsdevices) { @@ -596,7 +629,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const Mqtt::ha_enabled(true); Mqtt::nested_format(1); - run_test("boiler"); + test("boiler"); shell.invoke_command("show devices"); shell.invoke_command("show values"); shell.invoke_command("call boiler info"); @@ -622,7 +655,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "shower_alert") { shell.printfln("Testing Shower Alert..."); - run_test("boiler"); + test("boiler"); // device type, command, data Command::call(EMSdevice::DeviceType::BOILER, "wwtapactivated", "false"); @@ -650,10 +683,10 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const Mqtt::nested_format(1); // is nested // Mqtt::nested_format(2); // not nested - run_test("boiler"); - run_test("thermostat"); - run_test("solar"); - run_test("mixer"); + test("boiler"); + test("thermostat"); + test("solar"); + test("mixer"); shell.invoke_command("call system publish"); shell.invoke_command("show mqtt"); @@ -672,8 +705,8 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const Mqtt::nested_format(1); // Mqtt::send_response(false); - run_test("boiler"); - // run_test("thermostat"); + test("boiler"); + // test("thermostat"); // 0xC2 // [emsesp] Boiler(0x08) -> Me(0x0B), UBAErrorMessage3(0xC2), data: 08 AC 00 10 31 48 30 31 15 80 95 0B 0E 10 38 00 7F FF FF FF 08 AC 00 10 09 41 30 @@ -692,8 +725,8 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const Mqtt::nested_format(1); // Mqtt::send_response(false); - run_test("boiler"); - run_test("thermostat"); + test("boiler"); + test("thermostat"); shell.invoke_command("call boiler wwseltemp"); shell.invoke_command("call system publish"); @@ -745,15 +778,13 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const } if (command == "healthcheck") { - uint8_t n = 0; - if (!data.empty()) { - n = Helpers::atoint(data.c_str()); - } - // n=1 = EMSESP::system_.HEALTHCHECK_NO_BUS // n=2 = EMSESP::system_.HEALTHCHECK_NO_NETWORK - shell.printfln("Testing healthcheck with %d", n); - EMSESP::system_.healthcheck(n); + if (id1 == -1) { + id1 = 0; + } + shell.printfln("Testing healthcheck with %d", id1); + EMSESP::system_.healthcheck(id1); ok = true; } @@ -763,7 +794,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const Mqtt::ha_enabled(true); // Mqtt::send_response(false); - run_test("thermostat"); + test("thermostat"); // shell.invoke_command("call thermostat seltemp"); // shell.invoke_command("call system publish"); @@ -794,7 +825,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const Mqtt::ha_enabled(true); // Mqtt::send_response(false); - run_test("boiler"); + test("boiler"); shell.invoke_command("call boiler wwseltemp"); shell.invoke_command("call system publish"); @@ -819,7 +850,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const Mqtt::ha_enabled(true); // Mqtt::send_response(false); - run_test("boiler"); + test("boiler"); shell.invoke_command("call boiler wwseltemp"); shell.invoke_command("call system publish"); @@ -842,8 +873,8 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const // EMSESP::bool_format(BOOL_FORMAT_10); // BOOL_FORMAT_10_STR EMSESP::system_.bool_format(BOOL_FORMAT_TRUEFALSE); // BOOL_FORMAT_TRUEFALSE_STR - run_test("boiler"); - run_test("thermostat"); + test("boiler"); + test("thermostat"); AsyncWebServerRequest request; JsonDocument doc; @@ -875,8 +906,8 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const EMSESP::system_.bool_format(BOOL_FORMAT_10); // BOOL_FORMAT_10_STR // EMSESP::bool_format(BOOL_FORMAT_TRUEFALSE); // BOOL_FORMAT_TRUEFALSE_STR - run_test("boiler"); - run_test("thermostat"); + test("boiler"); + test("thermostat"); EMSESP::mqtt_.incoming("ems-esp/boiler/wwseltemp", "59"); ok = true; @@ -887,15 +918,15 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const shell.printfln("Testing API wwmode"); Mqtt::ha_enabled(false); Mqtt::nested_format(1); - run_test("310"); + test("310"); AsyncWebServerRequest request; request.method(HTTP_POST); JsonDocument doc; JsonVariant json; - char data[] = "{\"value\":\"off\"}"; - deserializeJson(doc, data); + char odata[] = "{\"value\":\"off\"}"; + deserializeJson(doc, odata); json = doc.as(); request.url("/api/thermostat/wwmode"); EMSESP::webAPIService.webAPIService_post(&request, json); @@ -911,8 +942,8 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const Mqtt::nested_format(1); // Mqtt::send_response(true); - run_test("boiler"); - run_test("thermostat"); + test("boiler"); + test("thermostat"); AsyncWebServerRequest requestX; JsonDocument docX; @@ -1181,10 +1212,10 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const shell.printfln("Testing nested MQTT"); Mqtt::ha_enabled(false); // turn off HA Discovery to stop the chatter - run_test("boiler"); - run_test("thermostat"); - run_test("solar"); - run_test("mixer"); + test("boiler"); + test("thermostat"); + test("solar"); + test("mixer"); // first with nested Mqtt::nested_format(1); @@ -1201,7 +1232,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "thermostat") { shell.printfln("Testing adding a thermostat FW120..."); - run_test("thermostat"); + test("thermostat"); shell.invoke_command("show values"); shell.invoke_command("call system publish"); @@ -1229,7 +1260,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "solar") { shell.printfln("Testing Solar"); - run_test("solar"); + test("solar"); uart_telegram("30 00 FF 0A 02 6A 04"); // SM100 pump on (1)sh EMSESP::show_device_values(shell); @@ -1243,7 +1274,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "heatpump") { shell.printfln("Testing Heat Pump"); - run_test("heatpump"); + test("heatpump"); shell.invoke_command("call"); shell.invoke_command("call heatpump info"); ok = true; @@ -1698,7 +1729,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "mixer") { shell.printfln("Testing Mixer..."); - run_test("mixer"); + test("mixer"); // check for error "No telegram type handler found for ID 0x255 (src 0x20)" uart_telegram({0xA0, 0x00, 0xFF, 0x00, 0x01, 0x55, 0x00, 0x1A}); diff --git a/src/test/test.h b/src/test/test.h index b8091a0e3..83caa6e84 100644 --- a/src/test/test.h +++ b/src/test/test.h @@ -22,6 +22,7 @@ #define EMSESP_TEST_H #include "emsesp.h" + #include namespace emsesp { @@ -60,8 +61,8 @@ namespace emsesp { class Test { public: - static void run_test(uuid::console::Shell & shell, const std::string & command, const std::string & data = ""); - static bool run_test(const char * command, int8_t id = 0); + static void run_test(uuid::console::Shell & shell, const std::string & command, const std::string & id1 = "", const std::string & id2 = ""); + static bool test(const std::string & command, int8_t id1 = -1, int8_t id2 = -1); static void dummy_mqtt_commands(const char * message); static void rx_telegram(const std::vector & data); static void uart_telegram(const std::vector & rx_data); diff --git a/src/web/WebCustomEntityService.cpp b/src/web/WebCustomEntityService.cpp index 065ceb4f3..9f329474b 100644 --- a/src/web/WebCustomEntityService.cpp +++ b/src/web/WebCustomEntityService.cpp @@ -73,7 +73,7 @@ StateUpdateResult WebCustomEntity::update(JsonObject root, WebCustomEntity & web JsonDocument doc; deserializeJson(doc, json); root = doc.as(); - Serial.println(COLOR_BRIGHT_MAGENTA); + Serial.print(COLOR_BRIGHT_MAGENTA); Serial.print(" Using fake custom entity file: "); serializeJson(root, Serial); Serial.println(COLOR_RESET); diff --git a/src/web/WebCustomizationService.cpp b/src/web/WebCustomizationService.cpp index 2c39b2689..3d76626e8 100644 --- a/src/web/WebCustomizationService.cpp +++ b/src/web/WebCustomizationService.cpp @@ -103,7 +103,7 @@ StateUpdateResult WebCustomization::update(JsonObject root, WebCustomization & c JsonDocument doc; deserializeJson(doc, json); root = doc.as(); - Serial.println(COLOR_BRIGHT_MAGENTA); + Serial.print(COLOR_BRIGHT_MAGENTA); Serial.print(" Using fake customization file: "); serializeJson(root, Serial); Serial.println(COLOR_RESET); diff --git a/src/web/WebSchedulerService.cpp b/src/web/WebSchedulerService.cpp index b70612960..a2a2a40e1 100644 --- a/src/web/WebSchedulerService.cpp +++ b/src/web/WebSchedulerService.cpp @@ -62,7 +62,7 @@ StateUpdateResult WebScheduler::update(JsonObject root, WebScheduler & webSchedu JsonDocument doc; deserializeJson(doc, json); root = doc.as(); - Serial.println(COLOR_BRIGHT_MAGENTA); + Serial.print(COLOR_BRIGHT_MAGENTA); Serial.print(" Using fake scheduler file: "); serializeJson(root, Serial); Serial.println(COLOR_RESET);