From 53837e36b443ff508e3dc4095df10b794e693794 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 12 Jun 2024 20:57:50 +0200 Subject: [PATCH] lint fixing --- interface/package.json | 6 +- .../src/framework/system/UploadDownload.tsx | 2 +- interface/src/project/Devices.tsx | 4 +- interface/src/project/Help.tsx | 1 - interface/src/project/Modules.tsx | 6 +- interface/src/project/api.ts | 8 +- interface/src/utils/useRest.ts | 2 +- interface/yarn.lock | 84 +++++++++++-------- src/default_settings.h | 8 +- src/system.cpp | 1 + src/web/WebModulesService.cpp | 2 +- src/web/WebSchedulerService.cpp | 5 +- x2 | 16 ++++ 13 files changed, 91 insertions(+), 54 deletions(-) create mode 100644 x2 diff --git a/interface/package.json b/interface/package.json index ac0c4ca21..822b9c6cc 100644 --- a/interface/package.json +++ b/interface/package.json @@ -23,11 +23,11 @@ }, "dependencies": { "@alova/adapter-xhr": "^1.0.6", - "@alova/scene-react": "^1.6.0", + "@alova/scene-react": "^1.6.1", "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", - "@mui/icons-material": "^5.15.19", - "@mui/material": "^5.15.19", + "@mui/icons-material": "^5.15.20", + "@mui/material": "^5.15.20", "@table-library/react-table-library": "4.1.7", "@types/lodash-es": "^4.17.12", "@types/node": "^20.14.2", diff --git a/interface/src/framework/system/UploadDownload.tsx b/interface/src/framework/system/UploadDownload.tsx index 4e5bac899..9cb9d4b68 100644 --- a/interface/src/framework/system/UploadDownload.tsx +++ b/interface/src/framework/system/UploadDownload.tsx @@ -145,7 +145,7 @@ const UploadDownload: FC = () => { onGetAPI((event) => { saveFile( event.data, - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + event.sendArgs[0].device + '_' + event.sendArgs[0].entity + '.txt' ); }); diff --git a/interface/src/project/Devices.tsx b/interface/src/project/Devices.tsx index beb919ce1..be13882b1 100644 --- a/interface/src/project/Devices.tsx +++ b/interface/src/project/Devices.tsx @@ -270,7 +270,7 @@ const Devices: FC = () => { async function onSelectChange(action: Action, state: State) { setSelectedDevice(state.id as number); if (action.type === 'ADD_BY_ID_EXCLUSIVELY') { - await readDeviceData(state.id); + await readDeviceData(state.id as number); } } @@ -417,7 +417,7 @@ const Devices: FC = () => { const deviceValueDialogSave = async (devicevalue: DeviceValue) => { const id = Number(device_select.state.id); - await writeDeviceValue({ id, c: devicevalue.c, v: devicevalue.v }) + await writeDeviceValue({ id, c: devicevalue.c ?? '', v: devicevalue.v }) .then(() => { toast.success(LL.WRITE_CMD_SENT()); }) diff --git a/interface/src/project/Help.tsx b/interface/src/project/Help.tsx index d724d3a2b..85be550ce 100644 --- a/interface/src/project/Help.tsx +++ b/interface/src/project/Help.tsx @@ -45,7 +45,6 @@ const Help: FC = () => { ); anchor.download = - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access 'emsesp_' + event.sendArgs[0].device + '_' + event.sendArgs[0].entity + '.txt'; anchor.click(); URL.revokeObjectURL(anchor.href); diff --git a/interface/src/project/Modules.tsx b/interface/src/project/Modules.tsx index 267b48f95..1ed80cdde 100644 --- a/interface/src/project/Modules.tsx +++ b/interface/src/project/Modules.tsx @@ -49,7 +49,8 @@ const Modules: FC = () => { }); const { send: writeModules } = useRequest( - (data: Modules) => EMSESP.writeModules(data), + (data: { key: string; enabled: boolean; license: string }) => + EMSESP.writeModules(data), { immediate: false } @@ -145,7 +146,8 @@ const Modules: FC = () => { .catch((error: Error) => { toast.error(error.message); }) - .finally(() => { + .finally(async () => { + await fetchModules(); setNumChanges(0); }); }; diff --git a/interface/src/project/api.ts b/interface/src/project/api.ts index ae3336361..611e15c08 100644 --- a/interface/src/project/api.ts +++ b/interface/src/project/api.ts @@ -50,6 +50,7 @@ export const writeAnalogSensor = (as: WriteAnalogSensor) => // Activity export const readActivity = () => alovaInstance.Get('/rest/activity'); +// Scan devices export const scanDevices = () => alovaInstance.Post('/rest/scanDevices'); // API, used in HelpInformation @@ -118,8 +119,11 @@ export const readModules = () => })); } }); -export const writeModules = (data: Modules) => - alovaInstance.Post('/rest/modules', data); +export const writeModules = (data: { + key: string; + enabled: boolean; + license: string; +}) => alovaInstance.Post('/rest/modules', data); // SettingsEntities export const readCustomEntities = () => diff --git a/interface/src/utils/useRest.ts b/interface/src/utils/useRest.ts index aedfcdd6a..539b8f007 100644 --- a/interface/src/utils/useRest.ts +++ b/interface/src/utils/useRest.ts @@ -65,7 +65,7 @@ export const useRest = ({ read, update }: RestRequestOptions) => { setErrorMessage(undefined); setDirtyFlags([]); setOrigData(data as D); - await writeData(data).catch((error: Error) => { + await writeData(data as D).catch((error: Error) => { if (error.message === 'Reboot required') { setRestartNeeded(true); } else { diff --git a/interface/yarn.lock b/interface/yarn.lock index d7c7635c6..251a4d332 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -12,10 +12,10 @@ __metadata: languageName: node linkType: hard -"@alova/scene-react@npm:^1.6.0": - version: 1.6.0 - resolution: "@alova/scene-react@npm:1.6.0" - checksum: 10c0/ad2a44973690f46590e846706ba2444df7c83f47636430fc7f8bddbb95c77af960cf41564b8a078b133a955dc6553c74044bf8903c519b52f054e6a31ef6e608 +"@alova/scene-react@npm:^1.6.1": + version: 1.6.1 + resolution: "@alova/scene-react@npm:1.6.1" + checksum: 10c0/aa9503da4872ba6c78bc48fd60c643ae62d31845e806f840f4eb59400d25a7735f26e7f8e2debf4485dd0bd1bb63ffc48bbb504d617f45fa4c3cff0681dad135 languageName: node linkType: hard @@ -1099,16 +1099,16 @@ __metadata: languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.15.19": - version: 5.15.19 - resolution: "@mui/core-downloads-tracker@npm:5.15.19" - checksum: 10c0/90cd3eb95399326f60140618b43c91de133a7192fd122c379278e30e09b921a6109786189b1a78e45b3b6ef6104d0f0e2f29209e48f64c978ec28ef91c5bce2b +"@mui/core-downloads-tracker@npm:^5.15.20": + version: 5.15.20 + resolution: "@mui/core-downloads-tracker@npm:5.15.20" + checksum: 10c0/0e1f9aa9c85d5f60fa5937edc22dfbebd512671379e3adb7c99a8ef0928bf42daed98cede41a407e810a225554943675e9d976bc0ae17acdc20445c8d2f121b3 languageName: node linkType: hard -"@mui/icons-material@npm:^5.15.19": - version: 5.15.19 - resolution: "@mui/icons-material@npm:5.15.19" +"@mui/icons-material@npm:^5.15.20": + version: 5.15.20 + resolution: "@mui/icons-material@npm:5.15.20" dependencies: "@babel/runtime": "npm:^7.23.9" peerDependencies: @@ -1118,20 +1118,20 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/f2a4381b6a0f955d74aa5ac88bb8d38fee384fdff9a8e82c7fb9e596fbc61ccff97883a6c1a3cfbab3253f4d53c3fef21a3b438dfe45de365e842577bc892c08 + checksum: 10c0/3765340625ad0c5181cffbec1a9a52185e9add4d2eda1f8c3e262b11bf9ca1e8cdf87f67f550b300d8c3c31277b7c8bb38261c964f6180d31b3e928a1dc03315 languageName: node linkType: hard -"@mui/material@npm:^5.15.19": - version: 5.15.19 - resolution: "@mui/material@npm:5.15.19" +"@mui/material@npm:^5.15.20": + version: 5.15.20 + resolution: "@mui/material@npm:5.15.20" dependencies: "@babel/runtime": "npm:^7.23.9" "@mui/base": "npm:5.0.0-beta.40" - "@mui/core-downloads-tracker": "npm:^5.15.19" - "@mui/system": "npm:^5.15.15" + "@mui/core-downloads-tracker": "npm:^5.15.20" + "@mui/system": "npm:^5.15.20" "@mui/types": "npm:^7.2.14" - "@mui/utils": "npm:^5.15.14" + "@mui/utils": "npm:^5.15.20" "@types/react-transition-group": "npm:^4.4.10" clsx: "npm:^2.1.0" csstype: "npm:^3.1.3" @@ -1151,16 +1151,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 10c0/388eb14bedea7453dde7e5cbdcf9e51bec20567978d9405aa4affb9df69d25c9696427820ebff927215a8e8cd79a873ce9ac4207989a1c6b859d26394031382e + checksum: 10c0/0882661f83f5b73c06d6402ddd9c0f8e471198b838c4a456db03a5256d8febc688abc41645156d155536106a44bd28798efcfdaec00b665ab91dbd5c9dee83eb languageName: node linkType: hard -"@mui/private-theming@npm:^5.15.14": - version: 5.15.14 - resolution: "@mui/private-theming@npm:5.15.14" +"@mui/private-theming@npm:^5.15.20": + version: 5.15.20 + resolution: "@mui/private-theming@npm:5.15.20" dependencies: "@babel/runtime": "npm:^7.23.9" - "@mui/utils": "npm:^5.15.14" + "@mui/utils": "npm:^5.15.20" prop-types: "npm:^15.8.1" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -1168,7 +1168,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/28889505874f03e2aeeb147bc5eefcc537825a91ab9c771a5e60ea0df1eab760e900a3a50fec55b25bc9087e9030be37adbe1acdd81a3e2fcca5a1e0cf5979ec + checksum: 10c0/d6707ef884769a58a9dac23328138cd2dbb3dbdcfbf46beae406638628a77b2975aaf787f863143ae97ea2d5f6eca8d0ff929f2159f3f9b58bcedb2e01c7bce6 languageName: node linkType: hard @@ -1193,15 +1193,15 @@ __metadata: languageName: node linkType: hard -"@mui/system@npm:^5.15.15": - version: 5.15.15 - resolution: "@mui/system@npm:5.15.15" +"@mui/system@npm:^5.15.20": + version: 5.15.20 + resolution: "@mui/system@npm:5.15.20" dependencies: "@babel/runtime": "npm:^7.23.9" - "@mui/private-theming": "npm:^5.15.14" + "@mui/private-theming": "npm:^5.15.20" "@mui/styled-engine": "npm:^5.15.14" "@mui/types": "npm:^7.2.14" - "@mui/utils": "npm:^5.15.14" + "@mui/utils": "npm:^5.15.20" clsx: "npm:^2.1.0" csstype: "npm:^3.1.3" prop-types: "npm:^15.8.1" @@ -1217,7 +1217,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: 10c0/80724377ee9c0e1604373371bb9b7d566c899009264caf6f638eed224600b91b739f32bef03c6a479dc9348dfc01d7c28cc8d1252454d7dd4a23f59033a8653e + checksum: 10c0/7561d14d613e882cbe8959cbb779e6641542242e5a79974bad306c59c1505b5924cb2b866619b55d064aae1a1e8421dc3a613ad1a4cf330be7eebd1881170cff languageName: node linkType: hard @@ -1251,6 +1251,24 @@ __metadata: languageName: node linkType: hard +"@mui/utils@npm:^5.15.20": + version: 5.15.20 + resolution: "@mui/utils@npm:5.15.20" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@types/prop-types": "npm:^15.7.11" + prop-types: "npm:^15.8.1" + react-is: "npm:^18.2.0" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/d745895db047ef016681482f3d4710aa487f9e7bcd457ac2a395bdaf719a6a98f8bf5f1920d4729b0bc69f7ef2153624aa6a565ec0e31f76c33d7167397ac4d9 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -1965,13 +1983,13 @@ __metadata: resolution: "EMS-ESP@workspace:." dependencies: "@alova/adapter-xhr": "npm:^1.0.6" - "@alova/scene-react": "npm:^1.6.0" + "@alova/scene-react": "npm:^1.6.1" "@babel/core": "npm:^7.24.7" "@emotion/react": "npm:^11.11.4" "@emotion/styled": "npm:^11.11.5" "@eslint/js": "npm:^9.4.0" - "@mui/icons-material": "npm:^5.15.19" - "@mui/material": "npm:^5.15.19" + "@mui/icons-material": "npm:^5.15.20" + "@mui/material": "npm:^5.15.20" "@preact/compat": "npm:^17.1.2" "@preact/preset-vite": "npm:^2.8.2" "@table-library/react-table-library": "npm:4.1.7" diff --git a/src/default_settings.h b/src/default_settings.h index 0f5661112..956909b62 100644 --- a/src/default_settings.h +++ b/src/default_settings.h @@ -241,13 +241,13 @@ enum { }; #if CONFIG_IDF_TARGET_ESP32C3 -#define EMSESP_PLATFORM "ESP32-C3"; +#define EMSESP_PLATFORM "ESP32-C3" #elif CONFIG_IDF_TARGET_ESP32S2 -#define EMSESP_PLATFORM "ESP32-S2"; +#define EMSESP_PLATFORM "ESP32-S2" #elif CONFIG_IDF_TARGET_ESP32S3 -#define EMSESP_PLATFORM "ESP32-S3"; +#define EMSESP_PLATFORM "ESP32-S3" #elif CONFIG_IDF_TARGET_ESP32 || EMSESP_STANDALONE -#define EMSESP_PLATFORM "ESP32"; +#define EMSESP_PLATFORM "ESP32" #else #error Target CONFIG_IDF_TARGET is not supported #endif diff --git a/src/system.cpp b/src/system.cpp index dbebf49c1..db07845bd 100644 --- a/src/system.cpp +++ b/src/system.cpp @@ -964,6 +964,7 @@ void System::show_system(uuid::console::Shell & shell) { shell.println("System:"); shell.printfln(" Version: %s", EMSESP_APP_VERSION); + shell.printfln(" Platform: %s", EMSESP_PLATFORM); shell.printfln(" Language: %s", locale().c_str()); shell.printfln(" Board profile: %s", board_profile().c_str()); shell.printfln(" Uptime: %s", uuid::log::format_timestamp_ms(uuid::get_uptime_ms(), 3).c_str()); diff --git a/src/web/WebModulesService.cpp b/src/web/WebModulesService.cpp index 38835e2b1..c9a673311 100644 --- a/src/web/WebModulesService.cpp +++ b/src/web/WebModulesService.cpp @@ -81,7 +81,7 @@ StateUpdateResult WebModules::update(JsonObject root, WebModules & webModules) { auto enable = module["enabled"].as(); if (!moduleLibrary.enable(key, license, enable)) { - return StateUpdateResult::ERROR; + return StateUpdateResult::ERROR; // throw a 400 error } } } diff --git a/src/web/WebSchedulerService.cpp b/src/web/WebSchedulerService.cpp index 2116d7eb8..12ec11146 100644 --- a/src/web/WebSchedulerService.cpp +++ b/src/web/WebSchedulerService.cpp @@ -31,10 +31,7 @@ void WebSchedulerService::begin() { _fsPersistence.readFromFS(); // save a local pointer to the scheduler item list - EMSESP::webSchedulerService.read([&](WebScheduler & webScheduler) { - // - scheduleItems_ = &webScheduler.scheduleItems; - }); + EMSESP::webSchedulerService.read([&](WebScheduler & webScheduler) { scheduleItems_ = &webScheduler.scheduleItems; }); EMSESP::logger().info("Starting Scheduler service"); Mqtt::subscribe(EMSdevice::DeviceType::SCHEDULER, "scheduler/#", nullptr); // use empty function callback diff --git a/x2 b/x2 new file mode 100644 index 000000000..d4d87f8a4 --- /dev/null +++ b/x2 @@ -0,0 +1,16 @@ +Processing lolin_s3 (extends: espressi32_base; board: lolin_s3; board_build.f_cpu: 240000000L; board_upload.flash_size: 16MB; board_build.partitions: esp32_partition_16M.csv; board_upload.use_1200bps_touch: false; board_upload.wait_for_upload_port: false; build_flags: -std=gnu++2a -Isrc -Wno-type-limits, -D FACTORY_WIFI_SSID=\"\", -D FACTORY_WIFI_PASSWORD=\"\", -D FACTORY_WIFI_HOSTNAME=\"ems-esp\", -D FACTORY_AP_PROVISION_MODE=AP_MODE_DISCONNECTED, -D FACTORY_AP_SSID=\"ems-esp\", -D FACTORY_AP_PASSWORD=\"ems-esp-neo\", -D FACTORY_AP_LOCAL_IP=\"192.168.4.1\", -D FACTORY_AP_GATEWAY_IP=\"192.168.4.1\", -D FACTORY_AP_SUBNET_MASK=\"255.255.255.0\", -D FACTORY_ADMIN_USERNAME=\"admin\", -D FACTORY_ADMIN_PASSWORD=\"admin\", -D FACTORY_GUEST_USERNAME=\"guest\", -D FACTORY_GUEST_PASSWORD=\"guest\", -D FACTORY_NTP_ENABLED=false, -D FACTORY_NTP_TIME_ZONE_LABEL=\"Europe/Amsterdam\", -D FACTORY_NTP_TIME_ZONE_FORMAT=\"CET-1CEST,M3.5.0,M10.5.0/3\", -D FACTORY_NTP_SERVER=\"time.google.com\", -D FACTORY_MQTT_ENABLED=false, -D FACTORY_MQTT_HOST=\"\", -D FACTORY_MQTT_PORT=1883, -D FACTORY_MQTT_USERNAME=\"\", -D FACTORY_MQTT_PASSWORD=\"\", -D FACTORY_MQTT_KEEP_ALIVE=60, -D FACTORY_MQTT_CLEAN_SESSION=false, -D FACTORY_MQTT_MAX_TOPIC_LENGTH=128, -D FACTORY_JWT_SECRET=\"ems-esp-neo\", -DEMSESP_TEST, -D ONEWIRE_CRC16=0, -D CONFIG_ETH_ENABLED, -D CONFIG_UART_ISR_IN_IRAM, -D CONFIG_ASYNC_TCP_STACK_SIZE=5120, -D CONFIG_ASYNC_TCP_QUEUE=32, -D CONFIG_ASYNC_TCP_TASK_PRIORITY=10, '-DEMSESP_DEFAULT_BOARD_PROFILE="S32S3"'; extra_scripts: scripts/rename_fw.py; platform: espressif32; framework: arduino; board_build.filesystem: littlefs; build_unflags: -std=gnu++11; monitor_speed: 115200; monitor_filters: direct; upload_speed: 921600; build_type: release; check_tool: cppcheck, clangtidy; check_severity: high, medium; check_flags: cppcheck: --std=c++11 -v, clangtidy: --checks=-*,clang-analyzer-*,performance-*; lib_ldf_mode: chain+; lib_deps: file://../modules/EMS-ESP-Modules, bblanchon/ArduinoJson@^7.0.4; upload_protocol: esptool; upload_port: /dev/ttyACM0; custom_emsesp_ip: 10.10.10.173; custom_username: admin; custom_password: admin) +-------------------------------------------------------------------------------- +CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin_s3.html +PLATFORM: Espressif 32 (2024.6.10) (https://github.com/tasmota/platform-espressif32/releases/download/2024.06.10/platform-espressif32.zip) > WEMOS LOLIN S3 +HARDWARE: ESP32S3 240MHz, 320KB RAM, 16MB Flash +DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-builtin, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) +PACKAGES: + - framework-arduinoespressif32 @ 3.0.1+sha.371d83e (https://github.com/tasmota/arduino-esp32/releases/download/3.0.1.240605/framework-arduinoespressif32.zip) + - tool-esptoolpy @ 4.7.3 (https://github.com/tasmota/esptool/releases/download/v4.7.3/esptool.zip) + - tool-mklittlefs @ 3.2.0 + - tool-openocd-esp32 @ 2.1100.20220706 (11.0) + - tool-riscv32-esp-elf-gdb @ 12.1.0+20221002 + - tool-xtensa-esp-elf-gdb @ 12.1.0+20221002 + - toolchain-riscv32-esp @ 12.2.0+20230208 + - toolchain-xtensa-esp32s3 @ 12.2.0+20230208 +Build interrupted.