From d940932d3c845dc28612a7bbde051a6545d51a47 Mon Sep 17 00:00:00 2001 From: nexulm Date: Tue, 4 Jun 2024 11:28:03 +0200 Subject: [PATCH 01/19] Update wt32-eth01.json SH1106 (I2C = Type3) support for joy-it 128x64 1,3" OLED SBC-OLED01.3 display added --- docs/DeviceProfiles/wt32-eth01.json | 30 ++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/docs/DeviceProfiles/wt32-eth01.json b/docs/DeviceProfiles/wt32-eth01.json index 8af11283..b7f5cbdd 100644 --- a/docs/DeviceProfiles/wt32-eth01.json +++ b/docs/DeviceProfiles/wt32-eth01.json @@ -22,6 +22,34 @@ "clk_mode": 0 } }, + { + "name": "WT32-ETH01 with SH1106", + "links": [ + {"name": "Datasheet", "url": "http://www.wireless-tag.com/portfolio/wt32-eth01/"} + ], + "nrf24": { + "miso": 4, + "mosi": 2, + "clk": 32, + "irq": 33, + "en": 14, + "cs": 15 + }, + "eth": { + "enabled": true, + "phy_addr": 1, + "power": 16, + "mdc": 23, + "mdio": 18, + "type": 0, + "clk_mode": 0 + }, + "display": { + "type": 3, + "data": 5, + "clk": 17 + } + }, { "name": "WT32-ETH01 with SSD1306", "links": [ @@ -78,4 +106,4 @@ "clk": 17 } } -] \ No newline at end of file +] From ca4c45fcf2d7ef5150c3429ad1fa48c5549387c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=B6sch?= Date: Mon, 24 Jun 2024 17:12:31 +0200 Subject: [PATCH 02/19] Update AlarmLogParser.cpp added a few German translations --- lib/Hoymiles/src/parser/AlarmLogParser.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Hoymiles/src/parser/AlarmLogParser.cpp b/lib/Hoymiles/src/parser/AlarmLogParser.cpp index e08baf05..30b81364 100644 --- a/lib/Hoymiles/src/parser/AlarmLogParser.cpp +++ b/lib/Hoymiles/src/parser/AlarmLogParser.cpp @@ -28,15 +28,15 @@ ID Source Addr Target Addr Idx ? wcode ? Start End ? const std::array AlarmLogParser::_alarmMessages = { { { AlarmMessageType_t::ALL, 1, "Inverter start", "Wechselrichter gestartet", "L'onduleur a démarré" }, - { AlarmMessageType_t::ALL, 2, "Time calibration", "", "" }, + { AlarmMessageType_t::ALL, 2, "Time calibration", "Zeitabgleich", "" }, { AlarmMessageType_t::ALL, 3, "EEPROM reading and writing error during operation", "", "" }, { AlarmMessageType_t::ALL, 4, "Offline", "Offline", "Non connecté" }, - { AlarmMessageType_t::ALL, 11, "Grid voltage surge", "", "" }, - { AlarmMessageType_t::ALL, 12, "Grid voltage sharp drop", "", "" }, - { AlarmMessageType_t::ALL, 13, "Grid frequency mutation", "", "" }, - { AlarmMessageType_t::ALL, 14, "Grid phase mutation", "", "" }, - { AlarmMessageType_t::ALL, 15, "Grid transient fluctuation", "", "" }, + { AlarmMessageType_t::ALL, 11, "Grid voltage surge", "Netz: Überspannungsimpuls", "" }, + { AlarmMessageType_t::ALL, 12, "Grid voltage sharp drop", "Netz: Spannungseinbruch", "" }, + { AlarmMessageType_t::ALL, 13, "Grid frequency mutation", "Netz: Frequenzänderung", "" }, + { AlarmMessageType_t::ALL, 14, "Grid phase mutation", "Netz: Phasenänderung", "" }, + { AlarmMessageType_t::ALL, 15, "Grid transient fluctuation", "Netz: vorübergehende Schwankung", "" }, { AlarmMessageType_t::ALL, 36, "INV overvoltage or overcurrent", "", "" }, From faed3056dd861176aa2028edd9c54f14f481fd63 Mon Sep 17 00:00:00 2001 From: Tobias Wohlfrom <54249091+wohlfrom@users.noreply.github.com> Date: Sun, 30 Jun 2024 10:35:31 +0200 Subject: [PATCH 03/19] Increase stack size for MQTT task due to SSL handshake --- platformio.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/platformio.ini b/platformio.ini index 987f8b4d..316a920e 100644 --- a/platformio.ini +++ b/platformio.ini @@ -27,6 +27,7 @@ build_flags = -D_TASK_THREAD_SAFE=1 -DCONFIG_ASYNC_TCP_EVENT_QUEUE_SIZE=128 -DCONFIG_ASYNC_TCP_QUEUE_SIZE=128 + -DEMC_TASK_STACK_SIZE=6400 -Wall -Wextra -Wunused -Wmisleading-indentation -Wduplicated-cond -Wlogical-op -Wnull-dereference ; Have to remove -Werror because of ; https://github.com/espressif/arduino-esp32/issues/9044 and From 1eab3ae773d05d8b5c911d7258bfe82d9582ae55 Mon Sep 17 00:00:00 2001 From: jstammi Date: Wed, 2 Aug 2023 17:21:03 +0200 Subject: [PATCH 04/19] Fix: explicitly disconnect prior connecting to wifi to prevent from invalid association packets exchange #618 (cherry picked from commit b6c320d481eb77b4f4e0407237917d2d897bfd9d) --- src/NetworkSettings.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/NetworkSettings.cpp b/src/NetworkSettings.cpp index dac3ecb0..8ae1c909 100644 --- a/src/NetworkSettings.cpp +++ b/src/NetworkSettings.cpp @@ -27,6 +27,8 @@ void NetworkSettingsClass::init(Scheduler& scheduler) WiFi.setScanMethod(WIFI_ALL_CHANNEL_SCAN); WiFi.setSortMethod(WIFI_CONNECT_AP_BY_SIGNAL); + WiFi.disconnect(true, true); + WiFi.onEvent(std::bind(&NetworkSettingsClass::NetworkEvent, this, _1)); setupMode(); @@ -77,6 +79,7 @@ void NetworkSettingsClass::NetworkEvent(const WiFiEvent_t event) MessageOutput.println("WiFi disconnected"); if (_networkMode == network_mode::WiFi) { MessageOutput.println("Try reconnecting"); + WiFi.disconnect(true, true); WiFi.reconnect(); raiseEvent(network_event::NETWORK_DISCONNECTED); } From d09be3a3841ec7cf49c6d8f8cbaa06f43e56efb3 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Fri, 5 Jul 2024 21:10:15 +0200 Subject: [PATCH 05/19] Feature: Add support for HMS-800-2T-LV inverters --- lib/Hoymiles/src/inverters/HMS_2CH.cpp | 2 +- lib/Hoymiles/src/inverters/README.md | 2 +- lib/Hoymiles/src/parser/DevInfoParser.cpp | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/Hoymiles/src/inverters/HMS_2CH.cpp b/lib/Hoymiles/src/inverters/HMS_2CH.cpp index 4a700a9a..4ad0157f 100644 --- a/lib/Hoymiles/src/inverters/HMS_2CH.cpp +++ b/lib/Hoymiles/src/inverters/HMS_2CH.cpp @@ -42,7 +42,7 @@ bool HMS_2CH::isValidSerial(const uint64_t serial) { // serial >= 0x114400000000 && serial <= 0x1144ffffffff uint16_t preSerial = (serial >> 32) & 0xffff; - return preSerial == 0x1144; + return preSerial == 0x1144 || preSerial == 0x1143; } String HMS_2CH::typeName() const diff --git a/lib/Hoymiles/src/inverters/README.md b/lib/Hoymiles/src/inverters/README.md index 6d6104a2..8d913deb 100644 --- a/lib/Hoymiles/src/inverters/README.md +++ b/lib/Hoymiles/src/inverters/README.md @@ -7,7 +7,7 @@ | HM_4CH | HM-1000/1200/1500-4T | 1161 | | HMS_1CH | HMS-300/350/400/450/500-1T | 1124 | | HMS_1CHv2 | HMS-500-1T v2 | 1125 | -| HMS_2CH | HMS-600/700/800/900/1000-2T | 1144 | +| HMS_2CH | HMS-600/700/800/900/1000-2T | 1143, 1144 | | HMS_4CH | HMS-1600/1800/2000-4T | 1164 | | HMT_4CH | HMT-1600/1800/2000-4T | 1361 | | HMT_6CH | HMT-1800/2250-6T | 1382 | diff --git a/lib/Hoymiles/src/parser/DevInfoParser.cpp b/lib/Hoymiles/src/parser/DevInfoParser.cpp index c34ecb3f..0c2e15e8 100644 --- a/lib/Hoymiles/src/parser/DevInfoParser.cpp +++ b/lib/Hoymiles/src/parser/DevInfoParser.cpp @@ -62,6 +62,7 @@ const devInfo_t devInfo[] = { { { 0x10, 0x20, 0x71, ALL }, 500, "HMS-500-1T v2" }, // 02 { { 0x10, 0x21, 0x11, ALL }, 600, "HMS-600-2T" }, // 01 { { 0x10, 0x21, 0x41, ALL }, 800, "HMS-800-2T" }, // 00 + { { 0x10, 0x11, 0x41, ALL }, 800, "HMS-800-2T-LV" }, // 00 { { 0x10, 0x11, 0x51, ALL }, 900, "HMS-900-2T" }, // 01 { { 0x10, 0x21, 0x51, ALL }, 900, "HMS-900-2T" }, // 03 { { 0x10, 0x21, 0x71, ALL }, 1000, "HMS-1000-2T" }, // 05 From b4e4e3b04d0e9aac68aba3b724fce20fa98e9deb Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Fri, 5 Jul 2024 21:24:38 +0200 Subject: [PATCH 06/19] webapp: update dependencies --- webapp/package.json | 10 ++-- webapp/yarn.lock | 108 +++++++++++++++++++++++++------------------- 2 files changed, 66 insertions(+), 52 deletions(-) diff --git a/webapp/package.json b/webapp/package.json index cadcee66..a53ed43d 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -26,7 +26,7 @@ "@intlify/unplugin-vue-i18n": "^4.0.0", "@tsconfig/node18": "^18.2.4", "@types/bootstrap": "^5.2.10", - "@types/node": "^20.14.9", + "@types/node": "^20.14.10", "@types/pulltorefreshjs": "^0.1.7", "@types/sortablejs": "^1.15.8", "@types/spark-md5": "^3.0.4", @@ -34,15 +34,15 @@ "@vue/eslint-config-typescript": "^13.0.0", "@vue/tsconfig": "^0.5.1", "eslint": "^9.6.0", - "eslint-plugin-vue": "^9.26.0", + "eslint-plugin-vue": "^9.27.0", "npm-run-all": "^4.1.5", "pulltorefreshjs": "^0.1.22", "sass": "^1.77.6", "terser": "^5.31.1", - "typescript": "^5.5.2", - "vite": "^5.3.2", + "typescript": "^5.5.3", + "vite": "^5.3.3", "vite-plugin-compression": "^0.5.1", "vite-plugin-css-injected-by-js": "^3.5.1", - "vue-tsc": "^2.0.22" + "vue-tsc": "^2.0.26" } } diff --git a/webapp/yarn.lock b/webapp/yarn.lock index f8a89770..7aa705df 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -449,10 +449,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== -"@types/node@^20.14.9": - version "20.14.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" - integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== +"@types/node@^20.14.10": + version "20.14.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.10.tgz#a1a218290f1b6428682e3af044785e5874db469a" + integrity sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ== dependencies: undici-types "~5.26.4" @@ -567,24 +567,24 @@ resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz#e3dc11e427d4b818b7e3202766ad156e3d5e2eaa" integrity sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ== -"@volar/language-core@2.3.4", "@volar/language-core@~2.3.1": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-2.3.4.tgz#51de0263039a567a12a1eea90e02e59cdbf5de3b" - integrity sha512-wXBhY11qG6pCDAqDnbBRFIDSIwbqkWI7no+lj5+L7IlA7HRIjRP7YQLGzT0LF4lS6eHkMSsclXqy9DwYJasZTQ== +"@volar/language-core@2.4.0-alpha.15", "@volar/language-core@~2.4.0-alpha.15": + version "2.4.0-alpha.15" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-2.4.0-alpha.15.tgz#d17dfac0014f5648dd9ccc090918795b03cde0e9" + integrity sha512-mt8z4Fm2WxfQYoQHPcKVjLQV6PgPqyKLbkCVY2cr5RSaamqCHjhKEpsFX66aL4D/7oYguuaUw9Bx03Vt0TpIIA== dependencies: - "@volar/source-map" "2.3.4" + "@volar/source-map" "2.4.0-alpha.15" -"@volar/source-map@2.3.4": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-2.3.4.tgz#1d285610134fe565ca59a54e5a99c12befc70c93" - integrity sha512-C+t63nwcblqLIVTYXaVi/+gC8NukDaDIQI72J3R7aXGvtgaVB16c+J8Iz7/VfOy7kjYv7lf5GhBny6ACw9fTGQ== +"@volar/source-map@2.4.0-alpha.15": + version "2.4.0-alpha.15" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-2.4.0-alpha.15.tgz#b90dfd5a3ce30296dfcdcca647c6b41681b1b29b" + integrity sha512-8Htngw5TmBY4L3ClDqBGyfLhsB8EmoEXUH1xydyEtEoK0O6NX5ur4Jw8jgvscTlwzizyl/wsN1vn0cQXVbbXYg== -"@volar/typescript@~2.3.1": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-2.3.4.tgz#bfa2834c79bd0b9a38cdfdf220fea0afa8ed64b0" - integrity sha512-acCvt7dZECyKcvO5geNybmrqOsu9u8n5XP1rfiYsOLYGPxvHRav9BVmEdRyZ3vvY6mNyQ1wLL5Hday4IShe17w== +"@volar/typescript@~2.4.0-alpha.15": + version "2.4.0-alpha.15" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-2.4.0-alpha.15.tgz#407e3ca2134188ab77a6c5505b9ccccb9465f3c2" + integrity sha512-U3StRBbDuxV6Woa4hvGS4kz3XcOzrWUKgFdEFN+ba1x3eaYg7+ytau8ul05xgA+UNGLXXsKur7fTUhDFyISk0w== dependencies: - "@volar/language-core" "2.3.4" + "@volar/language-core" "2.4.0-alpha.15" path-browserify "^1.0.1" vscode-uri "^3.0.8" @@ -710,12 +710,12 @@ "@typescript-eslint/parser" "^7.1.1" vue-eslint-parser "^9.3.1" -"@vue/language-core@2.0.22": - version "2.0.22" - resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-2.0.22.tgz#2f8164ecc83f85f27301521d0a6ce37cc59bb23a" - integrity sha512-dNTAAtEOuMiz7N1s5tKpypnVVCtawxVSF5BukD0ELcYSw+DSbrSlYYSw8GuwvurodCeYFSHsmslE+c2sYDNoiA== +"@vue/language-core@2.0.26": + version "2.0.26" + resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-2.0.26.tgz#233793b2e0a9f33db6f4bdac030d9c164b3efc0f" + integrity sha512-/lt6SfQ3O1yDAhPsnLv9iSUgXd1dMHqUm/t3RctfqjuwQf1LnftZ414X3UBn6aXT4MiwXWtbNJ4Z0NZWwDWgJQ== dependencies: - "@volar/language-core" "~2.3.1" + "@volar/language-core" "~2.4.0-alpha.15" "@vue/compiler-dom" "^3.4.0" "@vue/shared" "^3.4.0" computeds "^0.0.1" @@ -1164,10 +1164,10 @@ escodegen@^2.1.0: optionalDependencies: source-map "~0.6.1" -eslint-plugin-vue@^9.26.0: - version "9.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.26.0.tgz#bf7f5cce62c8f878059b91edae44d22974133af5" - integrity sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ== +eslint-plugin-vue@^9.27.0: + version "9.27.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz#c22dae704a03d9ecefa81364ff89f60ce0481f94" + integrity sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" globals "^13.24.0" @@ -1175,7 +1175,7 @@ eslint-plugin-vue@^9.26.0: nth-check "^2.1.1" postcss-selector-parser "^6.0.15" semver "^7.6.0" - vue-eslint-parser "^9.4.2" + vue-eslint-parser "^9.4.3" xml-name-validator "^4.0.0" eslint-scope@^7.1.1: @@ -2064,6 +2064,11 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -2114,6 +2119,15 @@ postcss@^8.4.38: picocolors "^1.0.0" source-map-js "^1.2.0" +postcss@^8.4.39: + version "8.4.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.39.tgz#aa3c94998b61d3a9c259efa51db4b392e1bde0e3" + integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.1" + source-map-js "^1.2.0" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -2460,10 +2474,10 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typescript@^5.5.2: - version "5.5.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.2.tgz#c26f023cb0054e657ce04f72583ea2d85f8d0507" - integrity sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew== +typescript@^5.5.3: + version "5.5.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" + integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== ufo@^1.1.2: version "1.1.2" @@ -2534,13 +2548,13 @@ vite-plugin-css-injected-by-js@^3.5.1: resolved "https://registry.yarnpkg.com/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.5.1.tgz#b9c568c21b131d08e31aa6d368ee39c9d6c1b6c1" integrity sha512-9ioqwDuEBxW55gNoWFEDhfLTrVKXEEZgl5adhWmmqa88EQGKfTmexy4v1Rh0pAS6RhKQs2bUYQArprB32JpUZQ== -vite@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.2.tgz#2f0a8531c71060467ed3e0a205a203f269b6d9c8" - integrity sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA== +vite@^5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.3.tgz#5265b1f0a825b3b6564c2d07524777c83e3c04c2" + integrity sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A== dependencies: esbuild "^0.21.3" - postcss "^8.4.38" + postcss "^8.4.39" rollup "^4.13.0" optionalDependencies: fsevents "~2.3.3" @@ -2563,10 +2577,10 @@ vue-eslint-parser@^9.3.1: lodash "^4.17.21" semver "^7.3.6" -vue-eslint-parser@^9.4.2: - version "9.4.2" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz#02ffcce82042b082292f2d1672514615f0d95b6d" - integrity sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ== +vue-eslint-parser@^9.4.3: + version "9.4.3" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz#9b04b22c71401f1e8bca9be7c3e3416a4bde76a8" + integrity sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg== dependencies: debug "^4.3.4" eslint-scope "^7.1.1" @@ -2600,13 +2614,13 @@ vue-template-compiler@^2.7.14: de-indent "^1.0.2" he "^1.2.0" -vue-tsc@^2.0.22: - version "2.0.22" - resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-2.0.22.tgz#ddfef6b3a016d1b986008a3b8702f7e667db128c" - integrity sha512-lMBIwPBO0sxCcmvu45yt1b035AaQ8/XSXQDk8m75y4j0jSXY/y/XzfEtssQ9JMS47lDaR10O3/926oCs8OeGUw== +vue-tsc@^2.0.26: + version "2.0.26" + resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-2.0.26.tgz#e071df725b02f1d72b3ef386518b2045a716d7c9" + integrity sha512-tOhuwy2bIXbMhz82ef37qeiaQHMXKQkD6mOF6CCPl3/uYtST3l6fdNyfMxipudrQTxTfXVPlgJdMENBFfC1CfQ== dependencies: - "@volar/typescript" "~2.3.1" - "@vue/language-core" "2.0.22" + "@volar/typescript" "~2.4.0-alpha.15" + "@vue/language-core" "2.0.26" semver "^7.5.4" vue@^3.4.31: From d8316db20f94e189f69218da238efc70833c03e0 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Fri, 5 Jul 2024 21:32:26 +0200 Subject: [PATCH 07/19] webapp: Add Autoformatter --- webapp/.prettierrc.json | 8 ++++++++ webapp/package.json | 4 +++- webapp/yarn.lock | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 webapp/.prettierrc.json diff --git a/webapp/.prettierrc.json b/webapp/.prettierrc.json new file mode 100644 index 00000000..678c251b --- /dev/null +++ b/webapp/.prettierrc.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "semi": true, + "tabWidth": 4, + "singleQuote": true, + "printWidth": 120, + "trailingComma": "es5" +} diff --git a/webapp/package.json b/webapp/package.json index a53ed43d..04b4b071 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -9,7 +9,8 @@ "preview": "vite preview --port 4173", "build-only": "vite build", "type-check": "vue-tsc --noEmit", - "lint": "eslint ." + "lint": "eslint .", + "format": "prettier --write src/" }, "dependencies": { "@popperjs/core": "^2.11.8", @@ -36,6 +37,7 @@ "eslint": "^9.6.0", "eslint-plugin-vue": "^9.27.0", "npm-run-all": "^4.1.5", + "prettier": "^3.2.5", "pulltorefreshjs": "^0.1.22", "sass": "^1.77.6", "terser": "^5.31.1", diff --git a/webapp/yarn.lock b/webapp/yarn.lock index 7aa705df..5708edb4 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -2133,6 +2133,11 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prettier@^3.2.5: + version "3.3.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" + integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== + pulltorefreshjs@^0.1.22: version "0.1.22" resolved "https://registry.yarnpkg.com/pulltorefreshjs/-/pulltorefreshjs-0.1.22.tgz#ddb5e3feee0b2a49fd46e1b18e84fffef2c47ac0" From 342642ec01c25f0eecf293c2ae17a8ba5518520f Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Fri, 5 Jul 2024 21:57:53 +0200 Subject: [PATCH 08/19] webapp: Apply auto formatter --- webapp/src/App.vue | 4 +- webapp/src/components/BasePage.vue | 40 +- webapp/src/components/BootstrapAlert.vue | 51 ++- webapp/src/components/CardElement.vue | 10 +- webapp/src/components/DevInfo.vue | 27 +- webapp/src/components/EventLog.vue | 2 +- webapp/src/components/FirmwareInfo.vue | 46 +- webapp/src/components/FormFooter.vue | 6 +- webapp/src/components/FsInfo.vue | 10 +- webapp/src/components/GridProfile.vue | 94 ++-- webapp/src/components/HeapDetails.vue | 12 +- webapp/src/components/HintView.vue | 16 +- webapp/src/components/InputElement.vue | 61 ++- webapp/src/components/InputSerial.vue | 45 +- .../src/components/InterfaceNetworkInfo.vue | 3 +- webapp/src/components/InverterChannelInfo.vue | 23 +- webapp/src/components/InverterTotalInfo.vue | 30 +- webapp/src/components/LocaleSwitcher.vue | 16 +- webapp/src/components/MemoryInfo.vue | 30 +- webapp/src/components/ModalDialog.vue | 32 +- webapp/src/components/NavBar.vue | 119 +++-- webapp/src/components/PinInfo.vue | 21 +- webapp/src/components/RadioInfo.vue | 89 ++-- webapp/src/components/StatusBadge.vue | 22 +- webapp/src/components/ThemeSwitcher.vue | 65 +-- webapp/src/components/WifiApInfo.vue | 6 +- webapp/src/components/WifiStationInfo.vue | 8 +- webapp/src/emitter.d.ts | 2 +- webapp/src/locales/index.ts | 35 +- webapp/src/main.ts | 34 +- webapp/src/plugins/bootstrap.ts | 4 +- webapp/src/router/index.ts | 196 ++++---- webapp/src/scss/styles.scss | 4 +- webapp/src/types/Config.ts | 2 +- webapp/src/types/DeviceConfig.ts | 2 +- webapp/src/types/EventlogStatus.ts | 2 +- webapp/src/types/GridProfileRawdata.ts | 2 +- webapp/src/types/GridProfileStatus.ts | 2 +- webapp/src/types/LimitStatus.ts | 2 +- webapp/src/types/LiveDataStatus.ts | 4 +- webapp/src/types/NetworkStatus.ts | 2 +- webapp/src/types/NtpConfig.ts | 2 +- webapp/src/types/NtpStatus.ts | 4 +- webapp/src/types/PinMapping.ts | 6 +- webapp/src/types/SecurityConfig.ts | 2 +- webapp/src/utils/authentication.ts | 45 +- webapp/src/utils/index.ts | 9 +- webapp/src/utils/time.ts | 13 +- webapp/src/views/AboutView.vue | 131 ++++-- webapp/src/views/ConfigAdminView.vue | 92 ++-- webapp/src/views/ConsoleInfoView.vue | 59 ++- webapp/src/views/DeviceAdminView.vue | 288 ++++++++---- webapp/src/views/DtuAdminView.vue | 132 +++--- webapp/src/views/FirmwareUpgradeView.vue | 93 ++-- webapp/src/views/HomeView.vue | 423 +++++++++++------- webapp/src/views/InverterAdminView.vue | 299 +++++++++---- webapp/src/views/LoginView.vue | 68 +-- webapp/src/views/MaintenanceRebootView.vue | 32 +- webapp/src/views/MqttAdminView.vue | 281 +++++++----- webapp/src/views/MqttInfoView.vue | 79 +++- webapp/src/views/NetworkAdminView.vue | 134 +++--- webapp/src/views/NetworkInfoView.vue | 21 +- webapp/src/views/NtpAdminView.vue | 147 +++--- webapp/src/views/NtpInfoView.vue | 30 +- webapp/src/views/SecurityAdminView.vue | 75 ++-- webapp/src/views/SystemInfoView.vue | 54 +-- 66 files changed, 2281 insertions(+), 1419 deletions(-) diff --git a/webapp/src/App.vue b/webapp/src/App.vue index 6fa6eeaa..200ce669 100644 --- a/webapp/src/App.vue +++ b/webapp/src/App.vue @@ -5,10 +5,10 @@ diff --git a/webapp/src/components/DevInfo.vue b/webapp/src/components/DevInfo.vue index 024566ad..7a998e1c 100644 --- a/webapp/src/components/DevInfo.vue +++ b/webapp/src/components/DevInfo.vue @@ -1,8 +1,7 @@