From b610bcd4bb08480335167f2e243fb626b636c343 Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 22 Oct 2024 17:25:10 +0200 Subject: [PATCH 1/8] package update --- interface/package.json | 2 +- interface/yarn.lock | 231 +++++++++++++++++++---------------------- 2 files changed, 105 insertions(+), 128 deletions(-) diff --git a/interface/package.json b/interface/package.json index 4385914e9..62f48d9f9 100644 --- a/interface/package.json +++ b/interface/package.json @@ -41,7 +41,7 @@ "typescript": "^5.6.3" }, "devDependencies": { - "@babel/core": "^7.25.8", + "@babel/core": "^7.25.9", "@eslint/js": "^9.13.0", "@preact/compat": "^18.3.1", "@preact/preset-vite": "^2.9.1", diff --git a/interface/yarn.lock b/interface/yarn.lock index 235df7f5b..0e9c0934f 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -43,13 +43,13 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/code-frame@npm:7.25.7" +"@babel/code-frame@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/code-frame@npm:7.25.9" dependencies: - "@babel/highlight": "npm:^7.25.7" + "@babel/highlight": "npm:^7.25.9" picocolors: "npm:^1.0.0" - checksum: 10c0/14825c298bdec914caf3d24d1383b6d4cd6b030714686004992f4fc251831ecf432236652896f99d5d341f17170ae9a07b58d8d7b15aa0df8cfa1c5a7d5474bc + checksum: 10c0/88562eba0eeb5960b7004e108790aa00183d90cbbe70ce10dad01c2c48141d2ef54d6dcd0c678cc1e456de770ffeb68e28559f4d222c01a110c79aea8733074b languageName: node linkType: hard @@ -60,10 +60,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/compat-data@npm:7.25.7" - checksum: 10c0/e5cc915abdd18d021236474a96606b2d4a915c4fb620c1ad776b8a08d91111e788cb3b7e9bad43593d4e0bfa4f06894357bcb0984102de1861b9e7322b6bc9f8 +"@babel/compat-data@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/compat-data@npm:7.25.9" + checksum: 10c0/8d9fc2074311ce61aaf5bccf740a808644d19d4859caf5fa46d8a7186a1ee0b0d8cbbc23f9371f8b397e84a885bdeab58d5f22d6799ddde55973252aac351a27 languageName: node linkType: hard @@ -90,26 +90,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/core@npm:7.25.8" +"@babel/core@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/core@npm:7.25.9" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helpers": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.8" - "@babel/template": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.8" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helpers": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" 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: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086 + checksum: 10c0/40d3064ebe906f65ed4153a0f4d75c679a19e4d71e425035b7bbe2d292a9167274f1a0d908d4d6c8f484fcddeb10bd91e0c7878fdb3dfad1bb00f6a319ce431d languageName: node linkType: hard @@ -136,15 +136,15 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/generator@npm:7.25.7" +"@babel/generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/generator@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" + "@babel/types": "npm:^7.25.9" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/c03a26c79864d60d04ce36b649c3fa0d6fd7b2bf6a22e22854a0457aa09206508392dd73ee40e7bc8d50b3602f9ff068afa47770cda091d332e7db1ca382ee96 + checksum: 10c0/fca49a1440ac550bb835a73c0e8314849cd493a468a5431ca7f9dbb3d3443e3a1a6dcba2426752e8a97cc2feed4a3b7a0c639e1c45871c4a9dd0c994f08dd25a languageName: node linkType: hard @@ -170,16 +170,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-compilation-targets@npm:7.25.7" +"@babel/helper-compilation-targets@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-compilation-targets@npm:7.25.9" dependencies: - "@babel/compat-data": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/705be7e5274a3fdade68e3e2cf42e2b600316ab52794e13b91299a16f16c926f15886b6e9d6df20eb943ccc1cdba5a363d4766f8d01e47b8e6f4e01175f5e66c + checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa languageName: node linkType: hard @@ -221,13 +221,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-imports@npm:7.25.7" +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/0fd0c3673835e5bf75558e184bcadc47c1f6dd2fe2016d53ebe1e5a6ae931a44e093015c2f9a6651c1a89f25c76d9246710c2b0b460b95ee069c464f2837fa2c + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 languageName: node linkType: hard @@ -245,17 +245,17 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-transforms@npm:7.25.7" +"@babel/helper-module-transforms@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-transforms@npm:7.25.9" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-simple-access": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-simple-access": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/f37fa7d1d4df21690535b278468cbd5faf0133a3080f282000cfa4f3ffc9462a1458f866b04b6a2f2d1eec4691236cba9a867da61270dab3ab19846e62f05090 + checksum: 10c0/cd005e7585806845d79c5c0ca9e8926f186b430b0a558dad08a3611365eaad3ac587672b0d903530117dec454f48b6bdc3d164b19ea1b71ca1b4eb3be7b452ef languageName: node linkType: hard @@ -276,13 +276,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-simple-access@npm:7.25.7" +"@babel/helper-simple-access@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-simple-access@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/eed1b499bfb4f613c18debd61517e3de77b6da2727ca025aa05ac81599e0269f1dddb5237db04e8bb598115d015874752e0a7f11ff38672d74a4976097417059 + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8 languageName: node linkType: hard @@ -302,10 +302,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-string-parser@npm:7.25.7" - checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 languageName: node linkType: hard @@ -316,10 +316,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-identifier@npm:7.25.7" - checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0 +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d languageName: node linkType: hard @@ -330,10 +330,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-option@npm:7.25.7" - checksum: 10c0/12ed418c8e3ed9ed44c8c80d823f4e42d399b5eb2e423adccb975e31a31a008cd3b5d8eab688b31f740caff4a1bb28fe06ea2fa7d635aee34cc0ad6995d50f0a +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e languageName: node linkType: hard @@ -347,13 +347,13 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helpers@npm:7.25.7" +"@babel/helpers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helpers@npm:7.25.9" dependencies: - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/3b3ae9e373bd785414195ef8f59976a69d5a6ebe0ef2165fdcc5165e5c3ee09e0fcee94bb457df2ddb8c0532e4146d0a9b7a96b3497399a4bff4ffe196b30228 + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/4354fbf050291937d0f127f6f927a0c471b604524e0767516fefb91dc36427f25904dd0d2b2b3bbc66bce1894c680cc37eac9ab46970d70f24bf3e53375612de languageName: node linkType: hard @@ -369,15 +369,15 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/highlight@npm:7.25.7" +"@babel/highlight@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/highlight@npm:7.25.9" dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.9" chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/1f5894fdb0a0af6101fb2822369b2eeeae32cbeae2ef73ff73fc6a0a4a20471565cd9cfa589f54ed69df66adeca7c57266031ca9134b7bd244d023a488d419aa + checksum: 10c0/ae0ed93c151b85a07df42936117fa593ce91563a22dfc8944a90ae7088c9679645c33e00dcd20b081c1979665d65f986241172dae1fc9e5922692fc3ff685a49 languageName: node linkType: hard @@ -392,25 +392,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/parser@npm:7.25.7" +"@babel/parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/parser@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" + "@babel/types": "npm:^7.25.9" bin: parser: ./bin/babel-parser.js - checksum: 10c0/b771469bb6b636c18a8d642b9df3c73913c3860a979591e1a29a98659efd38b81d3e393047b5251fe382d4c82c681c12da9ce91c98d69316d2604d155a214bcf - languageName: node - linkType: hard - -"@babel/parser@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/parser@npm:7.25.8" - dependencies: - "@babel/types": "npm:^7.25.8" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4 + checksum: 10c0/143faff8a72331be5ed94080e0f4645cbeea814fb488cd9210154083735f67cb66fde32f6a4a80efd6c4cdf12c6f8b50995a465846093c7f65c5da8d7829627c languageName: node linkType: hard @@ -480,14 +469,14 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/template@npm:7.25.7" +"@babel/template@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/8ae9e36e4330ee83d4832531d1d9bec7dc2ef6a2a8afa1ef1229506fd60667abcb17f306d1c3d7e582251270597022990c845d5d69e7add70a5aea66720decb9 + "@babel/code-frame": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab languageName: node linkType: hard @@ -524,18 +513,18 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/traverse@npm:7.25.7" +"@babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/75d73e52c507a7a7a4c7971d6bf4f8f26fdd094e0d3a0193d77edf6a5efa36fc3db91ec5cc48e8b94e6eb5d5ad21af0a1040e71309172851209415fd105efb1a + checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 languageName: node linkType: hard @@ -560,25 +549,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/types@npm:7.25.7" +"@babel/types@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/types@npm:7.25.9" dependencies: - "@babel/helper-string-parser": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/e03e1e2e08600fa1e8eb90632ac9c253dd748176c8d670d85f85b0dc83a0573b26ae748a1cbcb81f401903a3d95f43c3f4f8d516a5ed779929db27de56289633 - languageName: node - linkType: hard - -"@babel/types@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/types@npm:7.25.8" - dependencies: - "@babel/helper-string-parser": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/33890d08bcb06b26a3a60e4c6c996cbdf2b8d8a3c212664de659c2775f80b002c5f2bceedaa309c384ff5e99bd579794fe6a7e41de07df70246f43c55016d349 languageName: node linkType: hard @@ -1906,7 +1883,7 @@ __metadata: resolution: "EMS-ESP@workspace:." dependencies: "@alova/adapter-xhr": "npm:2.0.8" - "@babel/core": "npm:^7.25.8" + "@babel/core": "npm:^7.25.9" "@emotion/react": "npm:^11.13.3" "@emotion/styled": "npm:^11.13.0" "@eslint/js": "npm:^9.13.0" From de64e95441c2570c10917b1b0a6559d4059c1c58 Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 22 Oct 2024 17:25:22 +0200 Subject: [PATCH 2/8] add more tests for actions --- src/test/test.cpp | 50 +++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/src/test/test.cpp b/src/test/test.cpp index ef3cb8b67..c71d0bd12 100644 --- a/src/test/test.cpp +++ b/src/test/test.cpp @@ -1006,35 +1006,39 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const // request.url("/api"); // EMSESP::webAPIService.webAPIService(&request, doc.as()); - // char data2[] = "{\"action\":\"customSupport\", \"param\":\"hello\"}"; - // deserializeJson(doc, data2); - // request.url("/rest/action"); - // EMSESP::webStatusService.action(&request, doc.as()); + char data2[] = "{\"action\":\"customSupport\", \"param\":\"hello\"}"; + deserializeJson(doc, data2); + request.url("/rest/action"); + EMSESP::webStatusService.action(&request, doc.as()); - // char data3[] = "{\"action\":\"export\", \"param\":\"schedule\"}"; - // deserializeJson(doc, data3); - // request.url("/rest/action"); - // EMSESP::webStatusService.action(&request, doc.as()); + char data3[] = "{\"action\":\"export\", \"param\":\"schedule\"}"; + deserializeJson(doc, data3); + request.url("/rest/action"); + EMSESP::webStatusService.action(&request, doc.as()); - // char data4[] = "{\"action\":\"export\", \"param\":\"allvalues\"}"; - // deserializeJson(doc, data4); - // request.url("/rest/action"); - // EMSESP::webStatusService.action(&request, doc.as()); + char data4[] = "{\"action\":\"export\", \"param\":\"allvalues\"}"; + deserializeJson(doc, data4); + request.url("/rest/action"); + EMSESP::webStatusService.action(&request, doc.as()); - char data6[] = "{\"device\":\"system\", \"cmd\":\"read\",\"value\":\"8 2 27 1\"}"; - deserializeJson(doc, data6); - json = doc.as(); - request.url("/api"); - EMSESP::webAPIService.webAPIService(&request, json); + char data5[] = "{\"action\":\"checkUpgrade\", \"param\":\"3.7.0-dev.99\"}"; + deserializeJson(doc, data5); + request.url("/rest/action"); + EMSESP::webStatusService.action(&request, doc.as()); - char data7[] = "{\"device\":\"system\", \"cmd\":\"read\",\"value\":\"10 234\"}"; - deserializeJson(doc, data7); - json = doc.as(); - request.url("/api"); - EMSESP::webAPIService.webAPIService(&request, json); + // char data6[] = "{\"device\":\"system\", \"cmd\":\"read\",\"value\":\"8 2 27 1\"}"; + // deserializeJson(doc, data6); + // json = doc.as(); + // request.url("/api"); + // EMSESP::webAPIService.webAPIService(&request, json); - shell.invoke_command("call system read \"8 2 27 1\""); + // char data7[] = "{\"device\":\"system\", \"cmd\":\"read\",\"value\":\"10 234\"}"; + // deserializeJson(doc, data7); + // json = doc.as(); + // request.url("/api"); + // EMSESP::webAPIService.webAPIService(&request, json); + // shell.invoke_command("call system read \"8 2 27 1\""); } else { EMSESP::webCustomEntityService.test(); // custom entities From 7e2f3f610f88e8869567ec6d28b62a31a25c049a Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 22 Oct 2024 17:25:37 +0200 Subject: [PATCH 3/8] add missing fullstop --- interface/src/app/main/Scheduler.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/app/main/Scheduler.tsx b/interface/src/app/main/Scheduler.tsx index 9ea48ba04..5d9e360e9 100644 --- a/interface/src/app/main/Scheduler.tsx +++ b/interface/src/app/main/Scheduler.tsx @@ -313,7 +313,7 @@ const Scheduler = () => { {blocker ? : null} - {LL.SCHEDULER_HELP_1()} + {LL.SCHEDULER_HELP_1()}. {renderSchedule()} From ebe9dc8fa969d2e3ac565615acc9a0176da8ad83 Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 22 Oct 2024 17:25:53 +0200 Subject: [PATCH 4/8] fullstops again --- interface/src/i18n/cz/index.ts | 4 ++-- interface/src/i18n/de/index.ts | 14 +++++++------- interface/src/i18n/en/index.ts | 6 +++--- interface/src/i18n/fr/index.ts | 18 +++++++++--------- interface/src/i18n/it/index.ts | 18 +++++++++--------- interface/src/i18n/nl/index.ts | 16 ++++++++-------- interface/src/i18n/no/index.ts | 20 ++++++++++---------- interface/src/i18n/pl/index.ts | 26 +++++++++++++------------- interface/src/i18n/sk/index.ts | 8 ++++---- interface/src/i18n/sv/index.ts | 22 +++++++++++----------- interface/src/i18n/tr/index.ts | 16 ++++++++-------- 11 files changed, 84 insertions(+), 84 deletions(-) diff --git a/interface/src/i18n/cz/index.ts b/interface/src/i18n/cz/index.ts index 56f30b84f..03fc28a33 100644 --- a/interface/src/i18n/cz/index.ts +++ b/interface/src/i18n/cz/index.ts @@ -159,7 +159,7 @@ const cz: Translation = { HELP_INFORMATION_2: 'Pro živý chat se komunitou se připojte k našemu serveru Discord', HELP_INFORMATION_3: 'Chcete-li požádat o funkci nebo nahlásit chybu', HELP_INFORMATION_4: 'Stáhněte a připojte informace o podpoře pro rychlejší odezvu při hlášení problému', - HELP_INFORMATION_5: 'Pro pomoc a dotazy kontaktujte svého instalatéra.', + HELP_INFORMATION_5: 'Pro pomoc a dotazy kontaktujte svého instalatéra', UPLOAD: 'Nahrát', DOWNLOAD: '{{S|s|s}}táhnout', INSTALL: 'Instalovat {0}', @@ -286,7 +286,7 @@ const cz: Translation = { STAY: 'Zůstat', LEAVE: 'Odejít', SCHEDULER: 'Plánovač', - SCHEDULER_HELP_1: 'Automatizujte příkazy přidáním naplánovaných událostí níže. Nastavte jedinečný název pro povolení/zakázání aktivace přes API/MQTT.', + SCHEDULER_HELP_1: 'Automatizujte příkazy přidáním naplánovaných událostí níže. Nastavte jedinečný název pro povolení/zakázání aktivace přes API/MQTT', SCHEDULER_HELP_2: 'Použijte 00:00 pro spuštění při startu', SCHEDULE: 'Harmonogram', TIME: 'Čas', diff --git a/interface/src/i18n/de/index.ts b/interface/src/i18n/de/index.ts index c1879447d..8a8c4a4e4 100644 --- a/interface/src/i18n/de/index.ts +++ b/interface/src/i18n/de/index.ts @@ -115,7 +115,7 @@ const de: Translation = { READONLY: 'Nur-Lese-Modus aktivieren (blockiert alle ausgehenden EMS Tx-Schreibbefehle)', UNDERCLOCK_CPU: 'CPU-Geschwindigkeit untertakten', REMOTE_TIMEOUT: 'Timeout', - REMOTE_TIMEOUT_EN: 'Deaktiviere Remote bei fehlender Temperatur', + REMOTE_TIMEOUT_EN: 'Deaktiviere Remote bei fehlender Raumtemperatur', HEATINGOFF: 'Heizen ausschalten beim EMS-ESP Start', MIN_DURATION: 'Dauer bis die Dusche erkannt wrid', ENABLE_SHOWER_TIMER: 'Duschtimer aktivieren', @@ -155,11 +155,11 @@ const de: Translation = { NAME: 'Name', CUSTOMIZATIONS_RESET: 'Möchten Sie wirklich alle Anpassungen entfernen, einschließlich der benutzerdefinierten Einstellungen der Temperatur- und Analogsensoren?', SUPPORT_INFORMATION: 'Unterstützende Informationen', - HELP_INFORMATION_1: 'EMS-ESP Konfigurationsanweisungen und mehr finden Sie im Online-Wiki.', - HELP_INFORMATION_2: 'Für einen Live-Community-Chat besuchen Sie unseren Discord-Server.', - HELP_INFORMATION_3: 'Um neue Funktionen anzufragen oder Fehler zu melden, eröffnen Sie ein Issue auf GitHub.', - HELP_INFORMATION_4: 'Bitte laden Sie die Systemdetails und hängen Sie sie an das Support-Issue an.', - HELP_INFORMATION_5: 'Für Hilfe und Fragen wenden Sie sich bitte an Ihren Installateur.', + HELP_INFORMATION_1: 'EMS-ESP Konfigurationsanweisungen und mehr finden Sie im Online-Wiki', + HELP_INFORMATION_2: 'Für einen Live-Community-Chat besuchen Sie unseren Discord-Server', + HELP_INFORMATION_3: 'Um neue Funktionen anzufragen oder Fehler zu melden, eröffnen Sie ein Issue auf GitHub', + HELP_INFORMATION_4: 'Bitte laden Sie die Systemdetails und hängen Sie sie an das Support-Issue an', + HELP_INFORMATION_5: 'Für Hilfe und Fragen wenden Sie sich bitte an Ihren Installateur', UPLOAD: 'Hochladen', DOWNLOAD: '{{H|h|h}}erunterladen', INSTALL: 'Installieren {0}', @@ -286,7 +286,7 @@ const de: Translation = { STAY: 'Bleiben', LEAVE: 'Verlassen', SCHEDULER: 'Planer', - SCHEDULER_HELP_1: 'Fügen Sie eigene geplante Befehle zur Automatisierung hinzu. Vergeben Sie einen Entitätsnamen, um die Aktivierung über API/Mqtt zu steuern.', + SCHEDULER_HELP_1: 'Fügen Sie eigene geplante Befehle zur Automatisierung hinzu. Vergeben Sie einen Entitätsnamen, um die Aktivierung über API/Mqtt zu steuern', SCHEDULER_HELP_2: '00:00 aktiviert einmalige Ausführung beim Start.', SCHEDULE: 'Zeitplan', TIME: 'Zeit', diff --git a/interface/src/i18n/en/index.ts b/interface/src/i18n/en/index.ts index 5fab58f4a..3c06024df 100644 --- a/interface/src/i18n/en/index.ts +++ b/interface/src/i18n/en/index.ts @@ -159,7 +159,7 @@ const en: Translation = { HELP_INFORMATION_2: 'For live community chat join our Discord server', HELP_INFORMATION_3: 'To request a feature or report a bug', HELP_INFORMATION_4: 'Download and attach your support information for a faster response when reporting an issue', - HELP_INFORMATION_5: 'For help and questions please contact your installer.', + HELP_INFORMATION_5: 'For help and questions please contact your installer', UPLOAD: 'Upload', DOWNLOAD: '{{D|d|d}}ownload', INSTALL: 'Install {0}', @@ -286,7 +286,7 @@ const en: Translation = { STAY: 'Stay', LEAVE: 'Leave', SCHEDULER: 'Scheduler', - SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT.', + SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT', SCHEDULER_HELP_2: 'Use 00:00 to trigger once on start-up', SCHEDULE: 'Schedule', TIME: 'Time', @@ -342,7 +342,7 @@ const en: Translation = { AUTO_SCROLL: 'Auto Scroll', DASHBOARD: 'Dashboard', NO_DATA: 'No data available', - DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module.', + DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module', DEVELOPER_MODE: 'Developer Mode' }; diff --git a/interface/src/i18n/fr/index.ts b/interface/src/i18n/fr/index.ts index 180ecdafe..e4a852e23 100644 --- a/interface/src/i18n/fr/index.ts +++ b/interface/src/i18n/fr/index.ts @@ -26,7 +26,7 @@ const fr: Translation = { ENTITIES: 'entités', REFRESH: 'Rafraîchir', EXPORT: 'Exporter', - FAVORITES: "Favoris", // TODO translate + FAVORITES: "Favoris", DEVICE_DETAILS: "Détails de l'appareil", ID_OF: 'ID {0}', DEVICE: 'Appareil', @@ -147,7 +147,7 @@ const fr: Translation = { CUSTOMIZATIONS_HELP_2: 'marquer comme favori', CUSTOMIZATIONS_HELP_3: "désactiver l'action d'écriture", CUSTOMIZATIONS_HELP_4: "exclure de MQTT et de l'API", - CUSTOMIZATIONS_HELP_5: 'cacher des appareils', // TODO translate + CUSTOMIZATIONS_HELP_5: 'cacher des appareils', CUSTOMIZATIONS_HELP_6: 'remove from memory', // TODO translate SELECT_DEVICE: 'Sélectionnez un appareil', SET_ALL: 'tout régler', @@ -155,11 +155,11 @@ const fr: Translation = { NAME: 'Nom', CUSTOMIZATIONS_RESET: 'Êtes-vous sûr de vouloir supprimer toutes les personnalisations, y compris les paramètres personnalisés des capteurs de température et analogiques ?', SUPPORT_INFORMATION: 'Information de support', - HELP_INFORMATION_1: 'Visitez le wiki en ligne pour obtenir des instructions sur la façon de configurer EMS-ESP.', + HELP_INFORMATION_1: 'Visitez le wiki en ligne pour obtenir des instructions sur la façon de configurer EMS-ESP', HELP_INFORMATION_2: 'Pour une discussion en direct avec la communauté, rejoignez notre serveur Discord', HELP_INFORMATION_3: 'Pour demander une fonctionnalité ou signaler un problème', HELP_INFORMATION_4: "N'oubliez pas de télécharger et de joindre les informations relatives à votre système pour obtenir une réponse plus rapide lorsque vous signalez un problème", - HELP_INFORMATION_5: 'For help and questions please contact your installer.', // TODO translate + HELP_INFORMATION_5: 'For help and questions please contact your installer', // TODO translate UPLOAD: 'Upload', DOWNLOAD: '{{D|d|d}}ownload', INSTALL: 'Installer {0}', @@ -260,7 +260,7 @@ const fr: Translation = { SCAN_AGAIN: 'Rescanner', NETWORK_SCANNER: 'Scan réseau', NETWORK_NO_WIFI: 'Pas de réseau WiFi trouvé', - NETWORK_BLANK_SSID: 'laisser vide pour désactiver le WiFi', // and enable ETH // TODO translate + NETWORK_BLANK_SSID: 'laisser vide pour désactiver le WiFi', NETWORK_BLANK_BSSID: 'leave blank to use only SSID', // TODO translate TX_POWER: 'Puissance Tx', HOSTNAME: "Nom d'hôte", @@ -286,7 +286,7 @@ const fr: Translation = { STAY: 'Stay', // TODO translate LEAVE: 'Leave', // TODO translate SCHEDULER: 'Scheduler', // TODO translate - SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT.', // TODO translate + SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT', // TODO translate SCHEDULER_HELP_2: 'Use 00:00 to trigger once on start-up', // TODO translate SCHEDULE: 'Schedule', // TODO translate TIME: 'Time', // TODO translate @@ -320,7 +320,7 @@ const fr: Translation = { SECURITY_1: 'Add or remove users', // TODO translate DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware', // TODO translate MODULES: 'Module', // TODO translate - MODULES_1: 'Activer ou désactiver les modules externes', // TODO translate + MODULES_1: 'Activer ou désactiver les modules externes', MODULES_UPDATED: 'Modules updated', // TODO translate MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate MODULES_NONE: 'No external modules detected', // TODO translate @@ -335,14 +335,14 @@ const fr: Translation = { INSTALL_VERSION: 'This will install version {0}. Are you sure?', // TODO translate SWITCH_DEV: 'switch to the development version', // TODO translate UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate - LATEST_VERSION: 'You are using the latest firmware version.', // TODO translate // TODO translate + LATEST_VERSION: 'You are using the latest firmware version.', // TODO translate PLEASE_WAIT: 'Please wait', // TODO translate RESTARTING_PRE: 'Initializing', // TODO translate RESTARTING_POST: 'Preparing', // TODO translate AUTO_SCROLL: 'Auto Scroll', // TODO translate DASHBOARD: 'Dashboard', // TODO translate NO_DATA: 'No data available', // TODO translate - DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module.', // TODO translate + DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module', // TODO translate DEVELOPER_MODE: 'Developer Mode' // TODO translate }; diff --git a/interface/src/i18n/it/index.ts b/interface/src/i18n/it/index.ts index b6b6820ea..40ebaf9e4 100644 --- a/interface/src/i18n/it/index.ts +++ b/interface/src/i18n/it/index.ts @@ -26,7 +26,7 @@ const it: Translation = { ENTITIES: 'entità', REFRESH: 'Ricaricare', EXPORT: 'Esporta', - FAVORITES: "Preferiti", // TODO Translate + FAVORITES: "Preferiti", DEVICE_DETAILS: 'Dettagli dispositivo', ID_OF: '{0} ID', DEVICE: 'Dispositivo', @@ -147,7 +147,7 @@ const it: Translation = { CUSTOMIZATIONS_HELP_2: 'seleziona come preferito', CUSTOMIZATIONS_HELP_3: 'disabilita azione scrittura', CUSTOMIZATIONS_HELP_4: 'esculdi da MQTT e API', - CUSTOMIZATIONS_HELP_5: 'nascondi dai dispositivi', // TODO translate + CUSTOMIZATIONS_HELP_5: 'nascondi dai dispositivi', CUSTOMIZATIONS_HELP_6: 'rimuovi dalla memoria', SELECT_DEVICE: 'Seleziona un dispositivo', SET_ALL: 'imposta tutto', @@ -159,7 +159,7 @@ const it: Translation = { HELP_INFORMATION_2: 'Per la chat della community dal vivo unisciti al nostro server Discord', HELP_INFORMATION_3: 'Per richiedere una funzionalità o segnalare un errore', HELP_INFORMATION_4: 'Ricordati di scaricare e allegare le informazioni del tuo sistema per una risposta più rapida quando segnali un problema', - HELP_INFORMATION_5: 'For help and questions please contact your installer.', // TODO translate + HELP_INFORMATION_5: 'For help and questions please contact your installer', // TODO translate UPLOAD: 'Carica', DOWNLOAD: 'Scarica', INSTALL: 'Installare {0}', @@ -286,20 +286,20 @@ const it: Translation = { STAY: 'Stai', LEAVE: 'Esci', SCHEDULER: 'Programma eventi', - SCHEDULER_HELP_1: "Automatizza i comandi aggiungendo gli eventi programmati di seguito. Imposta un nome univoco per abilitare/disabilitare l'attivazione tramite API/MQTT.", + SCHEDULER_HELP_1: "Automatizza i comandi aggiungendo gli eventi programmati di seguito. Imposta un nome univoco per abilitare/disabilitare l'attivazione tramite API/MQTT", SCHEDULER_HELP_2: "per attivare una volta all'avvio", SCHEDULE: 'Programma', TIME: 'Ora', TIMER: 'Orologio', - ONCHANGE: 'Sul cambiamento', // TODO translate - CONDITION: 'Condizione', // TODO translate - IMMEDIATE: 'Immediata', // TODO translate + ONCHANGE: 'Sul cambiamento', + CONDITION: 'Condizione', + IMMEDIATE: 'Immediata', SCHEDULE_UPDATED: 'Calendario aggiornato', SCHEDULE_TIMER_1: 'All avvio', SCHEDULE_TIMER_2: 'Ogni minuto', SCHEDULE_TIMER_3: 'Ogni ora', CUSTOM_ENTITIES: 'Entità personalizzate', - ENTITIES_HELP_1: 'Recupera entità personalizzate dal BUS EMS', // TODO translate + ENTITIES_HELP_1: 'Recupera entità personalizzate dal BUS EMS', ENTITIES_UPDATED: 'Entità aggiornate', WRITEABLE: 'Scrivibile', SHOWING: 'Visualizza', @@ -342,7 +342,7 @@ const it: Translation = { AUTO_SCROLL: 'Auto Scroll', // TODO translate DASHBOARD: 'Dashboard', // TODO translate NO_DATA: 'No data available', // TODO translate - DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module.', // TODO translate + DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module', // TODO translate DEVELOPER_MODE: 'Developer Mode' // TODO translate }; diff --git a/interface/src/i18n/nl/index.ts b/interface/src/i18n/nl/index.ts index 22a690fbc..ee1dce15a 100644 --- a/interface/src/i18n/nl/index.ts +++ b/interface/src/i18n/nl/index.ts @@ -26,7 +26,7 @@ const nl: Translation = { ENTITIES: 'entiteiten', REFRESH: 'Ververs', EXPORT: 'Export', - FAVORITES: "Favorieten", // TODO Translate + FAVORITES: "Favorieten", DEVICE_DETAILS: 'Device Gegevens', ID_OF: '{0} ID', DEVICE: 'Apparaat', @@ -147,7 +147,7 @@ const nl: Translation = { CUSTOMIZATIONS_HELP_2: 'Markeer as favoriet', CUSTOMIZATIONS_HELP_3: 'Zet schrijfacties uit', CUSTOMIZATIONS_HELP_4: 'Uitsluiten van MQTT en API', - CUSTOMIZATIONS_HELP_5: 'verbergen voor apparaten', // TODO translate + CUSTOMIZATIONS_HELP_5: 'verbergen voor apparaten', CUSTOMIZATIONS_HELP_6: 'verwijderen van memory', SELECT_DEVICE: 'Selecteer een apparaat', SET_ALL: 'Alles aanzetten', @@ -159,7 +159,7 @@ const nl: Translation = { HELP_INFORMATION_2: 'Voor de live community ga naar de Discord server', HELP_INFORMATION_3: 'Om een nieuwe feature te vragen of een bug te rapporteren', HELP_INFORMATION_4: 'Zorg dat je ook je systeem details zijn toevoeged voor een sneller antwoord', - HELP_INFORMATION_5: 'For help and questions please contact your installer.', // TODO translate + HELP_INFORMATION_5: 'For help and questions please contact your installer', // TODO translate UPLOAD: 'Upload', DOWNLOAD: '{{D|d|d}}ownload', INSTALL: 'Installeren {0}', @@ -286,14 +286,14 @@ const nl: Translation = { STAY: 'Blijven', LEAVE: 'Verlaten', SCHEDULER: 'Scheduler', - SCHEDULER_HELP_1: 'Automatiseer opdrachten door hieronder geplande gebeurtenissen toe te voegen. Stel een unieke naam in om activering via API/MQTT in/uit te schakelen.', + SCHEDULER_HELP_1: 'Automatiseer opdrachten door hieronder geplande gebeurtenissen toe te voegen. Stel een unieke naam in om activering via API/MQTT in/uit te schakelen', SCHEDULER_HELP_2: 'Gebruik 00:00 om eenmaal te activeren bij het opstarten', SCHEDULE: 'Schedule', TIME: 'Tijd', TIMER: 'Timer', - ONCHANGE: 'Op verandering', // TODO translate - CONDITION: 'Voorwaarde', // TODO translate - IMMEDIATE: 'Onmiddellijk', // TODO translate + ONCHANGE: 'Op verandering', + CONDITION: 'Voorwaarde', + IMMEDIATE: 'Onmiddellijk', SCHEDULE_UPDATED: 'Schema bijgewerkt', SCHEDULE_TIMER_1: 'bij het opstarten', SCHEDULE_TIMER_2: 'elke minuut', @@ -342,7 +342,7 @@ const nl: Translation = { AUTO_SCROLL: 'Auto Scroll', // TODO translate DASHBOARD: 'Dashboard', // TODO translate NO_DATA: 'No data available', // TODO translate - DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module.', // TODO translate + DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module', // TODO translate DEVELOPER_MODE: 'Developer Mode' // TODO translate }; diff --git a/interface/src/i18n/no/index.ts b/interface/src/i18n/no/index.ts index 6d9f73239..ce0f29926 100644 --- a/interface/src/i18n/no/index.ts +++ b/interface/src/i18n/no/index.ts @@ -26,7 +26,7 @@ const no: Translation = { ENTITIES: 'Ojekter', REFRESH: 'Oppdater', EXPORT: 'Eksport', - FAVORITES: "Favoritter", // TODO translate + FAVORITES: "Favoritter", DEVICE_DETAILS: 'Enhetsdetaljer', ID_OF: '{0}-ID', DEVICE: 'Enhets', @@ -147,7 +147,7 @@ const no: Translation = { CUSTOMIZATIONS_HELP_2: 'merk som favoritt', CUSTOMIZATIONS_HELP_3: 'inaktiviser skriving', CUSTOMIZATIONS_HELP_4: 'ekskludere fra MQTT og API', - CUSTOMIZATIONS_HELP_5: 'skjul fra enheter', // TODO translate + CUSTOMIZATIONS_HELP_5: 'skjul fra enheter', CUSTOMIZATIONS_HELP_6: 'fjern fra minnet', SELECT_DEVICE: 'Velg en enhet', SET_ALL: 'sett alle', @@ -159,7 +159,7 @@ const no: Translation = { HELP_INFORMATION_2: 'For community-support besøk vår Discord-server', HELP_INFORMATION_3: 'For å be om en ny funksjon eller melde feil', HELP_INFORMATION_4: 'Husk å laste ned og legg ved din systeminformasjon for en raskere respons når du rapporterer et problem', - HELP_INFORMATION_5: 'For help and questions please contact your installer.', // TODO translate + HELP_INFORMATION_5: 'For help and questions please contact your installer', // TODO translate UPLOAD: 'Opplasning', DOWNLOAD: '{{N|n|n}}edlasting', INSTALL: 'Installer {0}', @@ -260,7 +260,7 @@ const no: Translation = { SCAN_AGAIN: 'Søk igjen', NETWORK_SCANNER: 'Nettverk Scanner', NETWORK_NO_WIFI: 'Ingen trådløse nett funnet', - NETWORK_BLANK_SSID: 'la feltet være blankt for å deaktivisere trådløst nettverk', // TODO translate + NETWORK_BLANK_SSID: 'la feltet være blankt for å deaktivisere trådløst nettverk', NETWORK_BLANK_BSSID: 'leave blank to use only SSID', // TODO translate TX_POWER: 'Tx Effekt', HOSTNAME: 'Hostname', @@ -286,14 +286,14 @@ const no: Translation = { STAY: 'Bli her', LEAVE: 'Forlat', SCHEDULER: 'Planlegger', - SCHEDULER_HELP_1: 'Automatiser kommandoer ved å legge til skedulerte hendelser nedenfor. Sett et unikt navn for å slå på/av aktivering via API/MQTT.', + SCHEDULER_HELP_1: 'Automatiser kommandoer ved å legge til skedulerte hendelser nedenfor. Sett et unikt navn for å slå på/av aktivering via API/MQTT', SCHEDULER_HELP_2: 'Bruk 00:00 for å kjøre en gang ved oppstart', SCHEDULE: 'Planlegg', TIME: 'Tid', TIMER: 'Timer', - ONCHANGE: 'På endring', // TODO translate - CONDITION: 'Betingelse', // TODO translate - IMMEDIATE: 'Umiddelbar', // TODO translate + ONCHANGE: 'På endring', + CONDITION: 'Betingelse', + IMMEDIATE: 'Umiddelbar', SCHEDULE_UPDATED: 'Planlegger er oppdatert', SCHEDULE_TIMER_1: 'ved oppstart', SCHEDULE_TIMER_2: 'hvert minutt', @@ -320,7 +320,7 @@ const no: Translation = { SECURITY_1: 'Add or remove users', // TODO translate DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware', // TODO translate MODULES: 'Module', // TODO translate - MODULES_1: 'Aktiver eller deaktiver eksterne moduler', // TODO translate + MODULES_1: 'Aktiver eller deaktiver eksterne moduler', MODULES_UPDATED: 'Modules updated', // TODO translate MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate MODULES_NONE: 'No external modules detected', // TODO translate @@ -342,7 +342,7 @@ const no: Translation = { AUTO_SCROLL: 'Auto Scroll', // TODO translate DASHBOARD: 'Dashboard', // TODO translate NO_DATA: 'No data available', // TODO translate - DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module.', // TODO translate + DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module', // TODO translate DEVELOPER_MODE: 'Developer Mode' // TODO translate }; diff --git a/interface/src/i18n/pl/index.ts b/interface/src/i18n/pl/index.ts index 927ae11e9..f89832d3d 100644 --- a/interface/src/i18n/pl/index.ts +++ b/interface/src/i18n/pl/index.ts @@ -26,7 +26,7 @@ const pl: BaseTranslation = { ENTITIES: 'encj{{i|a|e|e|i}}', REFRESH: 'Odśwież', EXPORT: 'Eksportuj', - FAVORITES: "Ulubione", // TODO Translate + FAVORITES: "Ulubione", DEVICE_DETAILS: 'Szczegóły urządzenia', ID_OF: 'ID {0}', DEVICE: 'urządzenia', @@ -147,7 +147,7 @@ const pl: BaseTranslation = { CUSTOMIZATIONS_HELP_2: 'oznacz jako ulubioną', CUSTOMIZATIONS_HELP_3: 'zablokuj akcje zapisu', CUSTOMIZATIONS_HELP_4: 'wyklucz z MQTT i API', - CUSTOMIZATIONS_HELP_5: 'ukryć przed urządzeniami', // TODO translate + CUSTOMIZATIONS_HELP_5: 'ukryć przed urządzeniami', CUSTOMIZATIONS_HELP_6: 'usuń z pamięci', SELECT_DEVICE: 'wybierz urządzenie', SET_ALL: 'Ustaw wszystko jako', @@ -155,11 +155,11 @@ const pl: BaseTranslation = { NAME: '{{Nazwa|nazwa|}}', CUSTOMIZATIONS_RESET: 'Na pewno chcesz usunąć wszystkie personalizacje łącznie z ustawieniami dla czujników temperatury 1-Wire® i urządzeń podłączonych do EMS-ESP?', SUPPORT_INFORMATION: '{{I|i|}}nformacj{{e|i|}} o systemie', - HELP_INFORMATION_1: 'Skorzystaj z wiki w internecie aby uzyskać instrukcje dotyczące konfiguracji EMS-ESP.', - HELP_INFORMATION_2: 'Dołącz do naszego serwera Discord by komunikować się na żywo ze społecznością.', - HELP_INFORMATION_3: 'Zaproponuj nową funkcjonalność lub zgłoś problem.', + HELP_INFORMATION_1: 'Skorzystaj z wiki w internecie aby uzyskać instrukcje dotyczące konfiguracji EMS-ESP', + HELP_INFORMATION_2: 'Dołącz do naszego serwera Discord by komunikować się na żywo ze społecznością', + HELP_INFORMATION_3: 'Zaproponuj nową funkcjonalność lub zgłoś problem', HELP_INFORMATION_4: 'Zgłaszając problem, nie zapomnij pobrać i dołączyć informacji o swoim systemie!', - HELP_INFORMATION_5: 'For help and questions please contact your installer.', // TODO translate + HELP_INFORMATION_5: 'For help and questions please contact your installer', // TODO translate UPLOAD: 'Wysyłanie', DOWNLOAD: '{{P|p||P}}obier{{anie|z||z}}', INSTALL: 'Zainstalować {0}', @@ -179,7 +179,7 @@ const pl: BaseTranslation = { DEVELOPMENT: 'Testowe', EMS_ESP_VER: 'Wersja Firmware', UPTIME: 'Czas działania systemu', - FREE_MEMORY: 'Wolne Memory', // TODO translate + FREE_MEMORY: 'Wolne Memory', PSRAM: 'PSRAM (rozmiar / wolne)', FLASH: 'FLASH (rozmiar , taktowanie)', APPSIZE: 'Aplikacja (partycja: wykorzystane / wolne)', @@ -286,14 +286,14 @@ const pl: BaseTranslation = { STAY: 'Pozostań', LEAVE: 'Opuść', SCHEDULER: 'Harmonogram', - SCHEDULER_HELP_1: 'Zautomatyzuj wykonywanie komend, dodając poniżej harmonogram zdarzeń. Nadaj mu unikalną nazwę, aby móc go aktywować/dezaktywować przez API/MQTT.', + SCHEDULER_HELP_1: 'Zautomatyzuj wykonywanie komend, dodając poniżej harmonogram zdarzeń. Nadaj mu unikalną nazwę, aby móc go aktywować/dezaktywować przez API/MQTT', SCHEDULER_HELP_2: 'Wpisz 00:00 aby wykonywać jednorazowo przy starcie.', SCHEDULE: '{{H|h|}}armonogram{{|u|}}', TIME: '{{Czas|Godzina|}}', TIMER: '{{m|M|}}inutnik', - ONCHANGE: 'O zmianie', // TODO translate - CONDITION: 'Stan', // TODO translate - IMMEDIATE: 'Natychmiastowy', // TODO translate + ONCHANGE: 'O zmianie', + CONDITION: 'Stan', + IMMEDIATE: 'Natychmiastowy', SCHEDULE_UPDATED: 'Harmonogram został uaktualniony.', SCHEDULE_TIMER_1: 'przy starcie', SCHEDULE_TIMER_2: 'co minutę', @@ -320,7 +320,7 @@ const pl: BaseTranslation = { SECURITY_1: 'Dodawanie i usuwanie użytkowników', DOWNLOAD_UPLOAD_1: 'Pobieranie/wysyłanie ustawień i firmware', MODULES: 'Module', // TODO translate - MODULES_1: 'Aktywuj lub dezaktywuj moduły zewnętrzne', // TODO translate + MODULES_1: 'Aktywuj lub dezaktywuj moduły zewnętrzne', MODULES_UPDATED: 'Modules updated', // TODO translate MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate MODULES_NONE: 'No external modules detected', // TODO translate @@ -342,7 +342,7 @@ const pl: BaseTranslation = { AUTO_SCROLL: 'Auto Scroll', // TODO translate DASHBOARD: 'Dashboard', // TODO translate NO_DATA: 'No data available', // TODO translate - DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module.', // TODO translate + DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module', // TODO translate DEVELOPER_MODE: 'Developer Mode' // TODO translate }; diff --git a/interface/src/i18n/sk/index.ts b/interface/src/i18n/sk/index.ts index 95023429a..93b75dfb9 100644 --- a/interface/src/i18n/sk/index.ts +++ b/interface/src/i18n/sk/index.ts @@ -26,7 +26,7 @@ const sk: Translation = { ENTITIES: 'entity', REFRESH: 'Obnoviť', EXPORT: 'Export', - FAVORITES: "Obľúbené", // TODO translate + FAVORITES: "Obľúbené", DEVICE_DETAILS: 'Detaily zariadenia', ID_OF: '{0} ID', DEVICE: 'Zariadenie', @@ -147,7 +147,7 @@ const sk: Translation = { CUSTOMIZATIONS_HELP_2: 'označiť ako obľúbené', CUSTOMIZATIONS_HELP_3: 'zakázať akciu zápisu', CUSTOMIZATIONS_HELP_4: 'vylúčiť z MQTT a API', - CUSTOMIZATIONS_HELP_5: 'skryť zo Zariadení', // TODO translate + CUSTOMIZATIONS_HELP_5: 'skryť zo Zariadení', CUSTOMIZATIONS_HELP_6: 'odstrániť z pamäte', SELECT_DEVICE: 'Zvoliť zariadenie', SET_ALL: 'nastaviť všetko', @@ -159,7 +159,7 @@ const sk: Translation = { HELP_INFORMATION_2: 'Pre živý komunitný chat sa pripojte na náš Discord server', HELP_INFORMATION_3: 'Ak chcete požiadať o funkciu alebo nahlásiť chybu', HELP_INFORMATION_4: 'nezabudnite si stiahnuť a pripojiť informácie o vašom systéme, aby ste mohli rýchlejšie reagovať pri nahlasovaní problému', - HELP_INFORMATION_5: 'Pre pomoc a otázky, kontaktujte svojho inštalatéra.', + HELP_INFORMATION_5: 'Pre pomoc a otázky, kontaktujte svojho inštalatéra', UPLOAD: 'Nahrať', DOWNLOAD: '{{S|s|s}}tiahnuť', INSTALL: 'Inštalovať {0}', @@ -286,7 +286,7 @@ const sk: Translation = { STAY: 'Zostať', LEAVE: 'Opustiť', SCHEDULER: 'Plánovač', - SCHEDULER_HELP_1: 'Automatizujte príkazy pridaním naplánovaných udalostí nižšie. Nastavte jedinečné meno na aktiváciu/deaktiváciu cez API/MQTT.', + SCHEDULER_HELP_1: 'Automatizujte príkazy pridaním naplánovaných udalostí nižšie. Nastavte jedinečné meno na aktiváciu/deaktiváciu cez API/MQTT', SCHEDULER_HELP_2: 'Použite 00:00 na jednorazové spustenie pri štarte', SCHEDULE: 'Plánovač', TIME: 'Čas', diff --git a/interface/src/i18n/sv/index.ts b/interface/src/i18n/sv/index.ts index f9e296ee1..a27f2d21f 100644 --- a/interface/src/i18n/sv/index.ts +++ b/interface/src/i18n/sv/index.ts @@ -26,7 +26,7 @@ const sv: Translation = { ENTITIES: 'entiteter', REFRESH: 'Uppdatera', EXPORT: 'Exportera', - FAVORITES: "Favoriter", // TODO translate + FAVORITES: "Favoriter", DEVICE_DETAILS: 'Enhetsdetaljer', ID_OF: '{0}-ID', DEVICE: 'Enhets', @@ -147,8 +147,8 @@ const sv: Translation = { CUSTOMIZATIONS_HELP_2: 'Favorit', CUSTOMIZATIONS_HELP_3: 'Inaktivera skrivningar', CUSTOMIZATIONS_HELP_4: 'Exkludera från MQTT & API', - CUSTOMIZATIONS_HELP_5: 'dölj från enheter', // TODO translate - CUSTOMIZATIONS_HELP_6: 'remove from memory', // TODO translate + CUSTOMIZATIONS_HELP_5: 'dölj från enheter', + CUSTOMIZATIONS_HELP_6: 'remove from memory', SELECT_DEVICE: 'Välj en enhet', SET_ALL: 'ställ in alla', OPTIONS: 'Alternativ', @@ -159,7 +159,7 @@ const sv: Translation = { HELP_INFORMATION_2: 'För community-support besök vår Discord-server', HELP_INFORMATION_3: 'Önska en ny funktion eller rapportera en bugg', HELP_INFORMATION_4: 'Bifoga din systeminformation för snabbare hantering när du rapporterar ett problem', - HELP_INFORMATION_5: 'For help and questions please contact your installer.', // TODO translate + HELP_INFORMATION_5: 'For help and questions please contact your installer', // TODO translate UPLOAD: 'Uppladdning', DOWNLOAD: '{{N|n|n}}edladdning', INSTALL: 'Installera {0}', @@ -260,7 +260,7 @@ const sv: Translation = { SCAN_AGAIN: 'Sök igen', NETWORK_SCANNER: 'Hittade nätverk', NETWORK_NO_WIFI: 'Inga WiFi-nätverk hittades', - NETWORK_BLANK_SSID: 'lämna blankt för att inaktivera WiFi', // and enable ETH // TODO translate + NETWORK_BLANK_SSID: 'lämna blankt för att inaktivera WiFi', NETWORK_BLANK_BSSID: 'leave blank to use only SSID', // TODO translate TX_POWER: 'Tx Effekt', HOSTNAME: 'Värdnamn', @@ -286,14 +286,14 @@ const sv: Translation = { STAY: 'Stay', // TODO translate LEAVE: 'Leave', // TODO translate SCHEDULER: 'Scheduler', // TODO translate - SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT.', // TODO translate + SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT', // TODO translate SCHEDULER_HELP_2: 'Use 00:00 to trigger once on start-up', // TODO translate SCHEDULE: 'Schedule', // TODO translate TIME: 'Time', // TODO translate TIMER: 'Timer', // TODO translate - ONCHANGE: 'På förändring', // TODO translate - CONDITION: 'Skick', // TODO translate - IMMEDIATE: 'Omedelbar', // TODO translate + ONCHANGE: 'På förändring', + CONDITION: 'Skick', + IMMEDIATE: 'Omedelbar', SCHEDULE_UPDATED: 'Schedule updated', // TODO translate SCHEDULE_TIMER_1: 'on startup', // TODO translate SCHEDULE_TIMER_2: 'every minute', // TODO translate @@ -320,7 +320,7 @@ const sv: Translation = { SECURITY_1: 'Add or remove users', // TODO translate DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware', // TODO translate MODULES: 'Module', // TODO translate - MODULES_1: 'Aktivera eller avaktivera externa moduler', // TODO translate + MODULES_1: 'Aktivera eller avaktivera externa moduler', MODULES_UPDATED: 'Modules updated', // TODO translate MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate MODULES_NONE: 'No external modules detected', // TODO translate @@ -342,7 +342,7 @@ const sv: Translation = { AUTO_SCROLL: 'Auto Scroll', // TODO translate DASHBOARD: 'Dashboard', // TODO translate NO_DATA: 'No data available', // TODO translate - DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module.', // TODO translate + DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module', // TODO translate DEVELOPER_MODE: 'Developer Mode' // TODO translate }; diff --git a/interface/src/i18n/tr/index.ts b/interface/src/i18n/tr/index.ts index 1e5f4fbf9..6c0e409f5 100644 --- a/interface/src/i18n/tr/index.ts +++ b/interface/src/i18n/tr/index.ts @@ -26,7 +26,7 @@ const tr: Translation = { ENTITIES: 'varlıklar', REFRESH: 'Yenile', EXPORT: 'Dışarı al', - FAVORITES: "Favoriler", // TODO translate + FAVORITES: "Favoriler", DEVICE_DETAILS: 'Cihaz Ayrıntıları', ID_OF: 'Kimlik {0}', DEVICE: 'Cihaz', @@ -147,7 +147,7 @@ const tr: Translation = { CUSTOMIZATIONS_HELP_2: 'favori olarak işaretle', CUSTOMIZATIONS_HELP_3: 'yazma işlemini devre dışı bırak', CUSTOMIZATIONS_HELP_4: 'MQTT ve APInin dışında bırak', - CUSTOMIZATIONS_HELP_5: 'Cihazlardan gizle', // TODO translate + CUSTOMIZATIONS_HELP_5: 'Cihazlardan gizle', CUSTOMIZATIONS_HELP_6: 'remove from memory', SELECT_DEVICE: 'Bir cihaz seç', SET_ALL: 'hepsini ayarla', @@ -159,7 +159,7 @@ const tr: Translation = { HELP_INFORMATION_2: 'Canlı topluluk sohbeti için Discord sunucumuza katılın', HELP_INFORMATION_3: 'Yeni bir özellik talep etmek yada hata bildirmek için', HELP_INFORMATION_4: 'Bir sorun bildirirken daha hızlı bir dönüş için sistem bilginizi indirip eklemeyi unutmayın', - HELP_INFORMATION_5: 'For help and questions please contact your installer.', // TODO translate + HELP_INFORMATION_5: 'For help and questions please contact your installer', // TODO translate UPLOAD: 'Yükleme', DOWNLOAD: '{{İ|i|i}}İndirme', INSTALL: 'Düzenlemek {0}', @@ -260,7 +260,7 @@ const tr: Translation = { SCAN_AGAIN: 'Tekrar tara', NETWORK_SCANNER: 'Ağ Tarayıcısı', NETWORK_NO_WIFI: 'Hiçbir Kablosuz Ağ bulunamadı', - NETWORK_BLANK_SSID: 'Kablosuz ağı devre dışı bırakmak için boş bırakın', // TODO translate + NETWORK_BLANK_SSID: 'Kablosuz ağı devre dışı bırakmak için boş bırakın', NETWORK_BLANK_BSSID: 'leave blank to use only SSID', // TODO translate TX_POWER: 'Aktarım gücü', HOSTNAME: 'Ana Makine Adı', @@ -286,12 +286,12 @@ const tr: Translation = { STAY: 'Stay', // TODO translate LEAVE: 'Leave', // TODO translate SCHEDULER: 'Scheduler', // TODO translate - SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT.', // TODO translate + SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT', // TODO translate SCHEDULER_HELP_2: 'Use 00:00 to trigger once on start-up', // TODO translate SCHEDULE: 'Schedule', // TODO translate TIME: 'Time', // TODO translate TIMER: 'Timer', // TODO translate - ONCHANGE: 'Değişimde', // TODO translate + ONCHANGE: 'Değişimde', CONDITION: 'Durum', // TODO translate IMMEDIATE: 'hemen', // TODO translate SCHEDULE_UPDATED: 'Schedule updated', // TODO translate @@ -320,7 +320,7 @@ const tr: Translation = { SECURITY_1: 'Add or remove users', // TODO translate DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware', // TODO translate MODULES: 'Module', // TODO translate - MODULES_1: 'Harici modülleri etkinleştirin veya devre dışı bırakın', // TODO translate + MODULES_1: 'Harici modülleri etkinleştirin veya devre dışı bırakın', MODULES_UPDATED: 'Modules updated', // TODO translate MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate MODULES_NONE: 'No external modules detected', // TODO translate @@ -342,7 +342,7 @@ const tr: Translation = { AUTO_SCROLL: 'Auto Scroll', // TODO translate DASHBOARD: 'Dashboard', // TODO translate NO_DATA: 'No data available', // TODO translate - DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module.', // TODO translate + DASHBOARD_1: 'Customize your dashboard by marking EMS entities as Favorite using the Customizations module', // TODO translate DEVELOPER_MODE: 'Developer Mode' // TODO translate }; From 9d22609370a59fbe0a8f85e6b025d1fb6136bef4 Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 22 Oct 2024 17:26:14 +0200 Subject: [PATCH 5/8] remove debug --- interface/src/app/settings/Version.tsx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/interface/src/app/settings/Version.tsx b/interface/src/app/settings/Version.tsx index ba4ee53eb..dc9432b88 100644 --- a/interface/src/app/settings/Version.tsx +++ b/interface/src/app/settings/Version.tsx @@ -39,7 +39,8 @@ const Version = () => { immediate: false } ).onSuccess((event) => { - setUpgradeAvailable((event.data as { upgradeable: boolean }).upgradeable); + const data = event.data as { emsesp_version: string; upgradeable: boolean }; + setUpgradeAvailable(data.upgradeable); }); const { data, send: loadData, error } = useRequest(SystemApi.readSystemStatus); @@ -54,15 +55,15 @@ const Version = () => { // called immediately to get the latest version, on page load const { data: latestVersion } = useRequest(getStableVersion, { // uncomment next 2 lines for testing, uses https://github.com/emsesp/EMS-ESP32/releases/download/v3.6.5/EMS-ESP-3_6_5-ESP32-16MB+.bin - immediate: false, - initialData: '3.6.5' + // immediate: false, + // initialData: '3.6.5' }); - // called immediately to get the latest version, on page load, then check for upgrade + // called immediately to get the latest version, on page load, then check for upgrade (works for both dev and stable) const { data: latestDevVersion } = useRequest(getDevVersion, { // uncomment next 2 lines for testing, uses https://github.com/emsesp/EMS-ESP32/releases/download/latest/EMS-ESP-3_7_0-dev_31-ESP32-16MB+.bin - immediate: false, - initialData: '3.7.0-dev.32' + // immediate: false, + // initialData: '3.7.0-dev.32' }).onSuccess((event) => { void sendCheckUpgrade(event.data); }); From 747aabef0a2c0a5946f134d5db80a84e609a2d3a Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 22 Oct 2024 17:26:30 +0200 Subject: [PATCH 6/8] comments --- interface/src/app/settings/Settings.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/app/settings/Settings.tsx b/interface/src/app/settings/Settings.tsx index e40c55ed7..57c902489 100644 --- a/interface/src/app/settings/Settings.tsx +++ b/interface/src/app/settings/Settings.tsx @@ -40,7 +40,7 @@ const Settings = () => { immediate: false }); - // get installed version + // call checkUpgrade with no param to fetch EMS-ESP version const { data } = useRequest(() => callAction({ action: 'checkUpgrade' }), { initialData: { emsesp_version: '...' } }); From 496b335780a34b77ae1de6a2b18cde432aaec010 Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 22 Oct 2024 17:26:37 +0200 Subject: [PATCH 7/8] check for empty param --- src/web/WebStatusService.cpp | 49 +++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/src/web/WebStatusService.cpp b/src/web/WebStatusService.cpp index 490028fed..8e46907e2 100644 --- a/src/web/WebStatusService.cpp +++ b/src/web/WebStatusService.cpp @@ -154,19 +154,31 @@ void WebStatusService::action(AsyncWebServerRequest * request, JsonVariant json) auto * response = new AsyncJsonResponse(); JsonObject root = response->getRoot(); - // get action and any optional param - std::string action = json["action"]; - std::string param = json["param"]; // is optional + // param is optional - https://arduinojson.org/news/2024/09/18/arduinojson-7-2/ + std::string param; + bool has_param = false; + JsonVariant param_optional = json["param"]; + if (json["param"].is()) { + param = param_optional.as(); + has_param = true; + } else { + has_param = false; + } // check if we're authenticated for admin tasks, some actions are only for admins Authentication authentication = _securityManager->authenticateRequest(request); bool is_admin = AuthenticationPredicates::IS_ADMIN(authentication); - bool ok = true; + // call action command + bool ok = false; + std::string action = json["action"]; + if (action == "checkUpgrade") { - ok = checkUpgrade(root, param); + ok = checkUpgrade(root, param); // param could be empty, if so only send back version } else if (action == "export") { - ok = exportData(root, param); + if (has_param) { + ok = exportData(root, param); + } } else if (action == "customSupport") { ok = customSupport(root); } else if (action == "uploadURL" && is_admin) { @@ -191,19 +203,21 @@ void WebStatusService::action(AsyncWebServerRequest * request, JsonVariant json) } // action = checkUpgrade -// returns true if there is an upgrade available bool WebStatusService::checkUpgrade(JsonObject root, std::string & latest_version) { - version::Semver200_version settings_version(EMSESP_APP_VERSION); - version::Semver200_version this_version(latest_version); - -#if defined(EMSESP_DEBUG) - emsesp::EMSESP::logger().debug("Checking for upgrade: %s > %s", EMSESP_APP_VERSION, latest_version.c_str()); -#endif - - root["upgradeable"] = (this_version > settings_version); root["emsesp_version"] = EMSESP_APP_VERSION; - return true; + if (!latest_version.empty()) { +#if defined(EMSESP_DEBUG) + emsesp::EMSESP::logger().debug("Checking for upgrade: %s > %s", EMSESP_APP_VERSION, latest_version.c_str()); +#endif + + version::Semver200_version settings_version(EMSESP_APP_VERSION); + version::Semver200_version this_version(latest_version); + + root["upgradeable"] = (this_version > settings_version); + } + + return true; // always ok } // action = allvalues @@ -258,8 +272,9 @@ bool WebStatusService::exportData(JsonObject root, std::string & type) { root.clear(); // don't need the "type" key added to the output allvalues(root); } else { - return false; + return false; // error } + return true; } From 94d4d13a47485aef6df4b619b6ccfd5104d5bbeb Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 22 Oct 2024 17:31:58 +0200 Subject: [PATCH 8/8] add test data for checkUpgrade action --- mock-api/rest_server.ts | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/mock-api/rest_server.ts b/mock-api/rest_server.ts index 610684aa8..440b729d5 100644 --- a/mock-api/rest_server.ts +++ b/mock-api/rest_server.ts @@ -197,12 +197,20 @@ function custom_support() { // called by Action endpoint function check_upgrade(version: string) { - console.log('check upgrade from version', version); - const data = { - emsesp_version: VERSION, - upgradeable: true - // upgradeable: false, - }; + let data = {}; + if (version) { + console.log('check upgrade from version', version); + data = { + emsesp_version: VERSION, + upgradeable: true + // upgradeable: false, + }; + } else { + console.log('requesting ems-esp version'); + data = { + emsesp_version: VERSION + }; + } return data; } @@ -4822,6 +4830,10 @@ router return custom_support(); } else if (action === 'checkUpgrade') { // check upgrade + // check if content has a param + if (!content.param) { + return check_upgrade(''); + } return check_upgrade(content.param); } else if (action === 'uploadURL') { // upload URL