From 5d2656550c19f40b6aad940ba5620819e722d8c1 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 17 Apr 2023 23:19:48 +0200 Subject: [PATCH 01/14] Optimize detection if RF module is configured Use PinMapping method instead of dedicated method in Hoymiles lib --> Same result but reduces variables --- lib/Hoymiles/src/HoymilesRadio.cpp | 5 ----- lib/Hoymiles/src/HoymilesRadio.h | 2 -- lib/Hoymiles/src/HoymilesRadio_CMT.cpp | 1 - lib/Hoymiles/src/HoymilesRadio_NRF.cpp | 1 - src/WebApi_sysstatus.cpp | 5 +++-- 5 files changed, 3 insertions(+), 11 deletions(-) diff --git a/lib/Hoymiles/src/HoymilesRadio.cpp b/lib/Hoymiles/src/HoymilesRadio.cpp index 2cb82abb..117d45e9 100644 --- a/lib/Hoymiles/src/HoymilesRadio.cpp +++ b/lib/Hoymiles/src/HoymilesRadio.cpp @@ -66,11 +66,6 @@ bool HoymilesRadio::isInitialized() return _isInitialized; } -bool HoymilesRadio::isConfigured() -{ - return _isConfigured; -} - bool HoymilesRadio::isIdle() { return !_busyFlag; diff --git a/lib/Hoymiles/src/HoymilesRadio.h b/lib/Hoymiles/src/HoymilesRadio.h index 18cef026..056b61c3 100644 --- a/lib/Hoymiles/src/HoymilesRadio.h +++ b/lib/Hoymiles/src/HoymilesRadio.h @@ -13,7 +13,6 @@ public: bool isIdle(); bool isInitialized(); - bool isConfigured(); template T* enqueCommand() @@ -34,6 +33,5 @@ protected: serial_u _dtuSerial; std::queue> _commandQueue; bool _isInitialized = false; - bool _isConfigured = false; bool _busyFlag = false; }; \ No newline at end of file diff --git a/lib/Hoymiles/src/HoymilesRadio_CMT.cpp b/lib/Hoymiles/src/HoymilesRadio_CMT.cpp index 828de066..b083248c 100644 --- a/lib/Hoymiles/src/HoymilesRadio_CMT.cpp +++ b/lib/Hoymiles/src/HoymilesRadio_CMT.cpp @@ -63,7 +63,6 @@ void HoymilesRadio_CMT::init(int8_t pin_sdio, int8_t pin_clk, int8_t pin_cs, int cmtSwitchDtuFreq(_inverterTargetFrequency); // start dtu at work freqency, for fast Rx if inverter is already on and frequency switched - _isConfigured = true; if (!_radio->isChipConnected()) { Hoymiles.getMessageOutput()->println("CMT: Connection error!!"); return; diff --git a/lib/Hoymiles/src/HoymilesRadio_NRF.cpp b/lib/Hoymiles/src/HoymilesRadio_NRF.cpp index d69522b3..88b7dbb6 100644 --- a/lib/Hoymiles/src/HoymilesRadio_NRF.cpp +++ b/lib/Hoymiles/src/HoymilesRadio_NRF.cpp @@ -23,7 +23,6 @@ void HoymilesRadio_NRF::init(SPIClass* initialisedSpiBus, uint8_t pinCE, uint8_t _radio->setAddressWidth(5); _radio->setRetries(0, 0); _radio->maskIRQ(true, true, false); // enable only receiving interrupts - _isConfigured = true; if (!_radio->isChipConnected()) { Hoymiles.getMessageOutput()->println("NRF: Connection error!!"); return; diff --git a/src/WebApi_sysstatus.cpp b/src/WebApi_sysstatus.cpp index 58c3820b..58af9079 100644 --- a/src/WebApi_sysstatus.cpp +++ b/src/WebApi_sysstatus.cpp @@ -5,6 +5,7 @@ #include "WebApi_sysstatus.h" #include "Configuration.h" #include "NetworkSettings.h" +#include "PinMapping.h" #include "WebApi.h" #include #include @@ -69,11 +70,11 @@ void WebApiSysstatusClass::onSystemStatus(AsyncWebServerRequest* request) root["uptime"] = esp_timer_get_time() / 1000000; - root["nrf_configured"] = Hoymiles.getRadioNrf()->isConfigured(); + root["nrf_configured"] = PinMapping.isValidNrf24Config(); root["nrf_connected"] = Hoymiles.getRadioNrf()->isConnected(); root["nrf_pvariant"] = Hoymiles.getRadioNrf()->isPVariant(); - root["cmt_configured"] = Hoymiles.getRadioCmt()->isConfigured(); + root["cmt_configured"] = PinMapping.isValidCmt2300Config(); root["cmt_connected"] = Hoymiles.getRadioCmt()->isConnected(); response->setLength(); From 188d8656714f3db84d4edc4111a84b44575ea1b5 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 19 Apr 2023 23:37:06 +0200 Subject: [PATCH 02/14] Fix: Device profile "Olimex ESP32-POE with SH1106" used wrong display type. Fix #825 --- docs/DeviceProfiles/olimex_esp32_poe.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeviceProfiles/olimex_esp32_poe.json b/docs/DeviceProfiles/olimex_esp32_poe.json index 001ba7b9..e43dff24 100644 --- a/docs/DeviceProfiles/olimex_esp32_poe.json +++ b/docs/DeviceProfiles/olimex_esp32_poe.json @@ -64,7 +64,7 @@ "clk_mode": 3 }, "display": { - "type": 2, + "type": 3, "data": 33, "clk": 32 } From 04f62e03b80b12ae632ce2a055bca43403eb8b0b Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Thu, 20 Apr 2023 22:41:55 +0200 Subject: [PATCH 03/14] BREAKING CHANGE: Web API Endpoint /api/eventlog/status no nested serial object It's not required as the eventlog just contains events from requested inverter --- src/WebApi_eventlog.cpp | 6 ++---- webapp/src/views/HomeView.vue | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/WebApi_eventlog.cpp b/src/WebApi_eventlog.cpp index f912eab0..5c66375c 100644 --- a/src/WebApi_eventlog.cpp +++ b/src/WebApi_eventlog.cpp @@ -38,12 +38,10 @@ void WebApiEventlogClass::onEventlogStatus(AsyncWebServerRequest* request) auto inv = Hoymiles.getInverterBySerial(serial); if (inv != nullptr) { - String serial = inv->serialString(); - uint8_t logEntryCount = inv->EventLog()->getEntryCount(); - root[serial]["count"] = logEntryCount; - JsonArray eventsArray = root[serial].createNestedArray("events"); + root["count"] = logEntryCount; + JsonArray eventsArray = root.createNestedArray("events"); for (uint8_t logEntry = 0; logEntry < logEntryCount; logEntry++) { JsonObject eventsObject = eventsArray.createNestedObject(); diff --git a/webapp/src/views/HomeView.vue b/webapp/src/views/HomeView.vue index 6ea54cf6..08cf1cb7 100644 --- a/webapp/src/views/HomeView.vue +++ b/webapp/src/views/HomeView.vue @@ -533,7 +533,7 @@ export default defineComponent({ fetch("/api/eventlog/status?inv=" + serial, { headers: authHeader() }) .then((response) => handleResponse(response, this.$emitter, this.$router)) .then((data) => { - this.eventLogList = data[serial]; + this.eventLogList = data; this.eventLogLoading = false; }); From f5fc52b92f3d5ae3f72be849da47a1a2a8939af2 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Thu, 20 Apr 2023 22:46:05 +0200 Subject: [PATCH 04/14] Move auto_firmware_version.py to pio-scripts subdirectory --- .../auto_firmware_version.py | 0 platformio.ini | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename auto_firmware_version.py => pio-scripts/auto_firmware_version.py (100%) diff --git a/auto_firmware_version.py b/pio-scripts/auto_firmware_version.py similarity index 100% rename from auto_firmware_version.py rename to pio-scripts/auto_firmware_version.py diff --git a/platformio.ini b/platformio.ini index 76620377..97096a52 100644 --- a/platformio.ini +++ b/platformio.ini @@ -34,7 +34,7 @@ lib_deps = buelowp/sunset @ ^1.1.7 extra_scripts = - pre:auto_firmware_version.py + pre:pio-scripts/auto_firmware_version.py board_build.partitions = partitions_custom.csv board_build.filesystem = littlefs From 12d03f06b01bc4de4bf3fbf71ee9d46b7e561a06 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Thu, 20 Apr 2023 23:13:18 +0200 Subject: [PATCH 05/14] Added functionality to apply custom patch files during building Usefull to patch existing libraries --- patches/esp32c3/EspAsyncWebserver.patch | 13 +++++ pio-scripts/patch_apply.py | 78 +++++++++++++++++++++++++ platformio.ini | 14 +++++ 3 files changed, 105 insertions(+) create mode 100644 patches/esp32c3/EspAsyncWebserver.patch create mode 100644 pio-scripts/patch_apply.py diff --git a/patches/esp32c3/EspAsyncWebserver.patch b/patches/esp32c3/EspAsyncWebserver.patch new file mode 100644 index 00000000..079c164d --- /dev/null +++ b/patches/esp32c3/EspAsyncWebserver.patch @@ -0,0 +1,13 @@ +diff --git a/.pio/libdeps/$$$env$$$/ESP Async WebServer/src/AsyncWebSocket.cpp b/.pio/libdeps/$$$env$$$/ESP Async WebServer/src/AsyncWebSocket.cpp +index 12be5f8..8505f73 100644 +--- a/.pio/libdeps/$$$env$$$/ESP Async WebServer/src/AsyncWebSocket.cpp ++++ b/.pio/libdeps/$$$env$$$/ESP Async WebServer/src/AsyncWebSocket.cpp +@@ -737,7 +737,7 @@ void AsyncWebSocketClient::binary(const __FlashStringHelper *data, size_t len) + IPAddress AsyncWebSocketClient::remoteIP() const + { + if (!_client) +- return IPAddress(0U); ++ return IPAddress((uint32_t)0); + + return _client->remoteIP(); + } diff --git a/pio-scripts/patch_apply.py b/pio-scripts/patch_apply.py new file mode 100644 index 00000000..17e25584 --- /dev/null +++ b/pio-scripts/patch_apply.py @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2023 Thomas Basler and others +# +import os +import subprocess +import re + +Import("env") + +def getPatchPath(env): + return os.path.join(env["PROJECT_DIR"], "patches", env.GetProjectOption('custom_patches')) + +def is_tool(name): + """Check whether `name` is on PATH and marked as executable.""" + + # from whichcraft import which + from shutil import which + + return which(name) is not None + +def replaceInFile(in_file, out_file, text, subs, flags=0): + """ + Function for replacing content for the given file + Taken from https://www.studytonight.com/python-howtos/search-and-replace-a-text-in-a-file-in-python + """ + if os.path.exists(in_file): + with open(in_file, "rb") as infile: + with open(out_file, "wb") as outfile: + #read the file contents + file_contents = infile.read() + text_pattern = re.compile(re.escape(text), flags) + file_contents = text_pattern.sub(subs, file_contents.decode('utf-8')) + outfile.seek(0) + outfile.truncate() + outfile.write(file_contents.encode()) + +def main(): + if (env.GetProjectOption('custom_patches', '') == ''): + print('No custom_patches specified') + return + + if (not is_tool('git')): + print('Git not found. Will not apply custom patches!') + return + + directory = getPatchPath(env) + if (not os.path.isdir(directory)): + print('Patch directory not found: ' + directory) + return + + for file in os.listdir(directory): + if (not file.endswith('.patch')): + continue + + fullPath = os.path.join(directory, file) + preparePath = fullPath + '.prepare' + replaceInFile(fullPath, preparePath, '$$$env$$$', env['PIOENV']) + print('Working on patch: ' + fullPath + '... ', end='') + + # Check if patch was already applied + process = subprocess.run(['git', 'apply', '--reverse', '--check', preparePath], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + if (process.returncode == 0): + print('already applied') + os.remove(preparePath) + continue + + # Apply patch + process = subprocess.run(['git', 'apply', preparePath]) + if (process.returncode == 0): + print('applied') + else: + print('failed') + + os.remove(preparePath) + + +main() \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index 97096a52..4df525c8 100644 --- a/platformio.ini +++ b/platformio.ini @@ -35,6 +35,7 @@ lib_deps = extra_scripts = pre:pio-scripts/auto_firmware_version.py + pre:pio-scripts/patch_apply.py board_build.partitions = partitions_custom.csv board_build.filesystem = littlefs @@ -58,6 +59,19 @@ build_flags = ${env.build_flags} -DHOYMILES_PIN_CS=5 +[env:generic_esp32c3] +board = esp32dev +board_build.mcu = esp32c3 +custom_patches = esp32c3 +build_flags = ${env.build_flags} + -DHOYMILES_PIN_MISO=9 + -DHOYMILES_PIN_MOSI=10 + -DHOYMILES_PIN_SCLK=8 + -DHOYMILES_PIN_IRQ=3 + -DHOYMILES_PIN_CE=4 + -DHOYMILES_PIN_CS=5 + + [env:olimex_esp32_poe] ; https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/open-source-hardware board = esp32-poe From 8373a9cffba8df2490e852658db06745668d02b4 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Thu, 20 Apr 2023 23:16:38 +0200 Subject: [PATCH 06/14] webapp: update dependencies --- webapp/package.json | 8 +-- webapp/yarn.lock | 135 +++++++++++++++++++++++--------------------- 2 files changed, 75 insertions(+), 68 deletions(-) diff --git a/webapp/package.json b/webapp/package.json index a06f3ba4..47b8b90b 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -24,7 +24,7 @@ "@intlify/unplugin-vue-i18n": "^0.10.0", "@rushstack/eslint-patch": "^1.2.0", "@types/bootstrap": "^5.2.6", - "@types/node": "^18.15.11", + "@types/node": "^18.15.12", "@types/spark-md5": "^3.0.2", "@vitejs/plugin-vue": "^4.1.0", "@vue/eslint-config-typescript": "^11.0.2", @@ -33,11 +33,11 @@ "eslint-plugin-vue": "^9.11.0", "npm-run-all": "^4.1.5", "sass": "^1.62.0", - "terser": "^5.16.9", + "terser": "^5.17.1", "typescript": "^5.0.4", - "vite": "^4.2.1", + "vite": "^4.3.1", "vite-plugin-compression": "^0.5.1", "vite-plugin-css-injected-by-js": "^3.1.0", - "vue-tsc": "^1.2.0" + "vue-tsc": "^1.4.0" } } diff --git a/webapp/yarn.lock b/webapp/yarn.lock index 99dc090e..2d1d6da2 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -361,10 +361,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== -"@types/node@^18.15.11": - version "18.15.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f" - integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== +"@types/node@^18.15.12": + version "18.15.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.12.tgz#833756634e78c829e1254db006468dadbb0c696b" + integrity sha512-Wha1UwsB3CYdqUm2PPzh/1gujGCNtWVUYF0mB00fJFoR4gTyWTDPjSm+zBF787Ahw8vSGgBja90MkgFwvB86Dg== "@types/spark-md5@^3.0.2": version "3.0.2" @@ -490,49 +490,49 @@ resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz#b6a9d83cd91575f7ee15593f6444397f68751073" integrity sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ== -"@volar/language-core@1.3.0-alpha.0": - version "1.3.0-alpha.0" - resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.3.0-alpha.0.tgz#4924b4cbc37dbce5f3845c1d2b2811938223a980" - integrity sha512-W3uMzecHPcbwddPu4SJpUcPakRBK/y/BP+U0U6NiPpUX1tONLC4yCawt+QBJqtgJ+sfD6ztf5PyvPL3hQRqfOA== +"@volar/language-core@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.4.0.tgz#cad7ed76b10575142885a7a7edd1176d93c48083" + integrity sha512-zZg771L/v4MCPwM1KJxvnQ3q3QgbGJtEytivqf+PsxPr0kQ7XtwB1J30dd+YSGN869pXXZ0V6vWdHkDpWC8F3A== dependencies: - "@volar/source-map" "1.3.0-alpha.0" + "@volar/source-map" "1.4.0" -"@volar/source-map@1.3.0-alpha.0": - version "1.3.0-alpha.0" - resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.3.0-alpha.0.tgz#c45d51ecb9759604d29fb80211d2fc9765e5559c" - integrity sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ== +"@volar/source-map@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.4.0.tgz#b9e6f21bd617cf73db5245352b25f260ca8a8062" + integrity sha512-gkV8ol9qtP7aMdgijc8a5Yoxxoo90TT55YCi9bsMbKxEUDsOAnlciFNlijR9Ebe42d67GV3w15/RzjveTRNGBw== dependencies: muggle-string "^0.2.2" -"@volar/typescript@1.3.0-alpha.0": - version "1.3.0-alpha.0" - resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.3.0-alpha.0.tgz#f79bbc9939016700812b18191c47eb035913c6c3" - integrity sha512-5UItyW2cdH2mBLu4RrECRNJRgtvvzKrSCn2y3v/D61QwIDkGx4aeil6x8RFuUL5TFtV6QvVHXnsOHxNgd+sCow== +"@volar/typescript@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.4.0.tgz#11473a68b09d8e662f98c83ce64e0e614deb2ac9" + integrity sha512-r6OMHj/LeS86iQy3LEjjS+qpmHr9I7BiH8gAwp9WEJP76FHlMPi/EPDQxhf3VcMQ/w6Pi5aBczqI+I3akr9t4g== dependencies: - "@volar/language-core" "1.3.0-alpha.0" + "@volar/language-core" "1.4.0" -"@volar/vue-language-core@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@volar/vue-language-core/-/vue-language-core-1.2.0.tgz#a600aa93c6a4e89bf2b525b7e876b39e3afdfb9b" - integrity sha512-w7yEiaITh2WzKe6u8ZdeLKCUz43wdmY/OqAmsB/PGDvvhTcVhCJ6f0W/RprZL1IhqH8wALoWiwEh/Wer7ZviMQ== +"@volar/vue-language-core@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@volar/vue-language-core/-/vue-language-core-1.4.0.tgz#8c087dbcc533c5682303378b126e189bc5257c3c" + integrity sha512-AIl9iW/6qac1FIJNi6cL27HNNWQWN1gzYkAA3qgcyvpx83a7YEbm9uPC9oelQhiODwFtdt3f3U5ta0l/5kKqjw== dependencies: - "@volar/language-core" "1.3.0-alpha.0" - "@volar/source-map" "1.3.0-alpha.0" - "@vue/compiler-dom" "^3.2.47" - "@vue/compiler-sfc" "^3.2.47" - "@vue/reactivity" "^3.2.47" - "@vue/shared" "^3.2.47" - minimatch "^6.1.6" + "@volar/language-core" "1.4.0" + "@volar/source-map" "1.4.0" + "@vue/compiler-dom" "^3.2.0" + "@vue/compiler-sfc" "^3.2.0" + "@vue/reactivity" "^3.2.0" + "@vue/shared" "^3.2.0" + minimatch "^9.0.0" muggle-string "^0.2.2" vue-template-compiler "^2.7.14" -"@volar/vue-typescript@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@volar/vue-typescript/-/vue-typescript-1.2.0.tgz#825dab4624a116d8be21efbf0c4a7bd6dec51d37" - integrity sha512-zjmRi9y3J1EkG+pfuHp8IbHmibihrKK485cfzsHjiuvJMGrpkWvlO5WVEk8oslMxxeGC5XwBFE9AOlvh378EPA== +"@volar/vue-typescript@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@volar/vue-typescript/-/vue-typescript-1.4.0.tgz#794f4c705a4951ac823dfbd080254a1b8a32537c" + integrity sha512-DOwKNuK4ScK+NXOU+kxMqVbOK9vCIj9TSOX7iBA34CHzIdnjDWK3ne1Iw74ltat2VX1PEyVQKzC74ZxoInV9bw== dependencies: - "@volar/typescript" "1.3.0-alpha.0" - "@volar/vue-language-core" "1.2.0" + "@volar/typescript" "1.4.0" + "@volar/vue-language-core" "1.4.0" "@vue/compiler-core@3.2.47": version "3.2.47" @@ -544,7 +544,7 @@ estree-walker "^2.0.2" source-map "^0.6.1" -"@vue/compiler-dom@3.2.47", "@vue/compiler-dom@^3.2.47": +"@vue/compiler-dom@3.2.47", "@vue/compiler-dom@^3.2.0": version "3.2.47" resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz#a0b06caf7ef7056939e563dcaa9cbde30794f305" integrity sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ== @@ -552,7 +552,7 @@ "@vue/compiler-core" "3.2.47" "@vue/shared" "3.2.47" -"@vue/compiler-sfc@3.2.47", "@vue/compiler-sfc@^3.2.47": +"@vue/compiler-sfc@3.2.47", "@vue/compiler-sfc@^3.2.0", "@vue/compiler-sfc@^3.2.47": version "3.2.47" resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz#1bdc36f6cdc1643f72e2c397eb1a398f5004ad3d" integrity sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ== @@ -601,7 +601,7 @@ estree-walker "^2.0.2" magic-string "^0.25.7" -"@vue/reactivity@3.2.47", "@vue/reactivity@^3.2.47": +"@vue/reactivity@3.2.47", "@vue/reactivity@^3.2.0": version "3.2.47" resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.47.tgz#1d6399074eadfc3ed35c727e2fd707d6881140b6" integrity sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ== @@ -633,7 +633,7 @@ "@vue/compiler-ssr" "3.2.47" "@vue/shared" "3.2.47" -"@vue/shared@3.2.47", "@vue/shared@^3.2.47": +"@vue/shared@3.2.47", "@vue/shared@^3.2.0": version "3.2.47" resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.47.tgz#e597ef75086c6e896ff5478a6bfc0a7aa4bbd14c" integrity sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ== @@ -1741,10 +1741,10 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^6.1.6: - version "6.2.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.2.0.tgz#2b70fd13294178c69c04dfc05aebdb97a4e79e42" - integrity sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg== +minimatch@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.0.tgz#bfc8e88a1c40ffd40c172ddac3decb8451503b56" + integrity sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w== dependencies: brace-expansion "^2.0.1" @@ -2038,7 +2038,7 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.10.0, resolve@^1.22.1: +resolve@^1.10.0: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -2059,10 +2059,10 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup@^3.18.0: - version "3.19.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.19.1.tgz#2b3a31ac1ff9f3afab2e523fa687fef5b0ee20fc" - integrity sha512-lAbrdN7neYCg/8WaoWn/ckzCtz+jr70GFfYdlf50OF7387HTg+wiuiqJRFYawwSPpqfqDNYqK7smY/ks2iAudg== +rollup@^3.20.2: + version "3.20.6" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.20.6.tgz#53c0fd73e397269d2ce5f0ec12851457dd53cacd" + integrity sha512-2yEB3nQXp/tBQDN0hJScJQheXdvU2wFhh6ld7K/aiZ1vYcak6N/BKjY1QrU6BvO2JWYS8bEs14FRaxXosxy2zw== optionalDependencies: fsevents "~2.3.2" @@ -2108,6 +2108,13 @@ semver@^7.3.5, semver@^7.3.6, semver@^7.3.7: dependencies: lru-cache "^6.0.0" +semver@^7.3.8: + version "7.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== + dependencies: + lru-cache "^6.0.0" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -2268,10 +2275,10 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -terser@^5.16.9: - version "5.16.9" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.9.tgz#7a28cb178e330c484369886f2afd623d9847495f" - integrity sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg== +terser@^5.17.1: + version "5.17.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.17.1.tgz#948f10830454761e2eeedc6debe45c532c83fd69" + integrity sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw== dependencies: "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" @@ -2385,15 +2392,14 @@ vite-plugin-css-injected-by-js@^3.1.0: resolved "https://registry.yarnpkg.com/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.1.0.tgz#d1160c975d40f256692e2465832e6ff18c22b3a3" integrity sha512-qogCmpocZfcbSAYZQjS88ieIY0PzLUm7RkLFWFgAxkXdz3N6roZbSTNTxeIOj5IxFbZWACUPuVBBoo6qCuXDcw== -vite@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.2.1.tgz#6c2eb337b0dfd80a9ded5922163b94949d7fc254" - integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg== +vite@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.3.1.tgz#9badb1377f995632cdcf05f32103414db6fbb95a" + integrity sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg== dependencies: esbuild "^0.17.5" postcss "^8.4.21" - resolve "^1.22.1" - rollup "^3.18.0" + rollup "^3.20.2" optionalDependencies: fsevents "~2.3.2" @@ -2435,13 +2441,14 @@ vue-template-compiler@^2.7.14: de-indent "^1.0.2" he "^1.2.0" -vue-tsc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.2.0.tgz#2b64b960cc96208492541394423ace589a461be6" - integrity sha512-rIlzqdrhyPYyLG9zxsVRa+JEseeS9s8F2BbVVVWRRsTZvJO2BbhLEb2HW3MY+DFma0378tnIqs+vfTzbcQtRFw== +vue-tsc@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.4.0.tgz#5553509750e73b81a2402b41384016ad86b097c2" + integrity sha512-zASWNqFTIHaY6K8ua0ifFpiX7lA4pz8zKkevLAVYyzBQu6Jc63xWdY3eH0qCUJm7L4K4h9nzbwysta89sfq7ZQ== dependencies: - "@volar/vue-language-core" "1.2.0" - "@volar/vue-typescript" "1.2.0" + "@volar/vue-language-core" "1.4.0" + "@volar/vue-typescript" "1.4.0" + semver "^7.3.8" vue@^3.2.47: version "3.2.47" From 0e9c6669816bb54b68d575077b3b5ad55f5be578 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Fri, 21 Apr 2023 19:02:10 +0200 Subject: [PATCH 07/14] Implement method as static --- lib/Hoymiles/src/commands/CommandAbstract.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Hoymiles/src/commands/CommandAbstract.h b/lib/Hoymiles/src/commands/CommandAbstract.h index 8029ac87..e6abc686 100644 --- a/lib/Hoymiles/src/commands/CommandAbstract.h +++ b/lib/Hoymiles/src/commands/CommandAbstract.h @@ -57,5 +57,5 @@ protected: uint64_t _routerAddress; private: - void convertSerialToPacketId(uint8_t buffer[], uint64_t serial); + static void convertSerialToPacketId(uint8_t buffer[], uint64_t serial); }; \ No newline at end of file From f5c15a445b0eb0f5afd9f9dbfc6e43fbbaa75f1e Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Sat, 22 Apr 2023 01:12:29 +0200 Subject: [PATCH 08/14] Move byteAssignment to stack (avoid container) to save heap --- lib/Hoymiles/src/inverters/HMS_1CH.cpp | 33 +++++++- lib/Hoymiles/src/inverters/HMS_1CH.h | 28 +------ lib/Hoymiles/src/inverters/HMS_2CH.cpp | 40 +++++++++- lib/Hoymiles/src/inverters/HMS_2CH.h | 35 +------- lib/Hoymiles/src/inverters/HMS_4CH.cpp | 54 ++++++++++++- lib/Hoymiles/src/inverters/HMS_4CH.h | 49 +----------- lib/Hoymiles/src/inverters/HMT_6CH.cpp | 79 ++++++++++++++++++- lib/Hoymiles/src/inverters/HMT_6CH.h | 72 +---------------- lib/Hoymiles/src/inverters/HM_1CH.cpp | 33 +++++++- lib/Hoymiles/src/inverters/HM_1CH.h | 28 +------ lib/Hoymiles/src/inverters/HM_2CH.cpp | 40 +++++++++- lib/Hoymiles/src/inverters/HM_2CH.h | 35 +------- lib/Hoymiles/src/inverters/HM_4CH.cpp | 54 ++++++++++++- lib/Hoymiles/src/inverters/HM_4CH.h | 49 +----------- .../src/inverters/InverterAbstract.cpp | 2 +- lib/Hoymiles/src/inverters/InverterAbstract.h | 3 +- lib/Hoymiles/src/parser/StatisticsParser.cpp | 15 ++-- lib/Hoymiles/src/parser/StatisticsParser.h | 5 +- 18 files changed, 346 insertions(+), 308 deletions(-) diff --git a/lib/Hoymiles/src/inverters/HMS_1CH.cpp b/lib/Hoymiles/src/inverters/HMS_1CH.cpp index 9fe5406c..3ce8002a 100644 --- a/lib/Hoymiles/src/inverters/HMS_1CH.cpp +++ b/lib/Hoymiles/src/inverters/HMS_1CH.cpp @@ -4,6 +4,30 @@ */ #include "HMS_1CH.h" +static const byteAssign_t byteAssignment[] = { + { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, + { TYPE_DC, CH0, FLD_PDC, UNIT_W, 6, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_YD, UNIT_WH, 12, 2, 1, false, 0 }, + { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 8, 4, 1000, false, 3 }, + { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, + + { TYPE_AC, CH0, FLD_UAC, UNIT_V, 14, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_IAC, UNIT_A, 22, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PAC, UNIT_W, 18, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 20, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_F, UNIT_HZ, 16, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 24, 2, 1000, false, 3 }, + + { TYPE_INV, CH0, FLD_T, UNIT_C, 26, 2, 10, true, 1 }, + { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 28, 2, 1, false, 0 }, + + { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, + { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, + { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, + { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } +}; + HMS_1CH::HMS_1CH(HoymilesRadio* radio, uint64_t serial) : HMS_Abstract(radio, serial) {}; @@ -19,7 +43,12 @@ String HMS_1CH::typeName() return "HMS-300, HMS-350, HMS-400, HMS-450, HMS-500"; } -const std::list* HMS_1CH::getByteAssignment() +const byteAssign_t* HMS_1CH::getByteAssignment() { - return &byteAssignment; + return byteAssignment; +} + +uint8_t HMS_1CH::getByteAssignmentSize() +{ + return sizeof(byteAssignment) / sizeof(byteAssignment[0]); } \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HMS_1CH.h b/lib/Hoymiles/src/inverters/HMS_1CH.h index 5902e7c1..437f3d33 100644 --- a/lib/Hoymiles/src/inverters/HMS_1CH.h +++ b/lib/Hoymiles/src/inverters/HMS_1CH.h @@ -9,30 +9,6 @@ public: explicit HMS_1CH(HoymilesRadio* radio, uint64_t serial); static bool isValidSerial(uint64_t serial); String typeName(); - const std::list* getByteAssignment(); - -private: - const std::list byteAssignment = { - { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, - { TYPE_DC, CH0, FLD_PDC, UNIT_W, 6, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_YD, UNIT_WH, 12, 2, 1, false, 0 }, - { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 8, 4, 1000, false, 3 }, - { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, - - { TYPE_AC, CH0, FLD_UAC, UNIT_V, 14, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_IAC, UNIT_A, 22, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PAC, UNIT_W, 18, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 20, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_F, UNIT_HZ, 16, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 24, 2, 1000, false, 3 }, - - { TYPE_INV, CH0, FLD_T, UNIT_C, 26, 2, 10, true, 1 }, - { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 28, 2, 1, false, 0 }, - - { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, - { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, - { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, - { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } - }; + const byteAssign_t* getByteAssignment(); + uint8_t getByteAssignmentSize(); }; \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HMS_2CH.cpp b/lib/Hoymiles/src/inverters/HMS_2CH.cpp index 2b1ea490..ffd5311f 100644 --- a/lib/Hoymiles/src/inverters/HMS_2CH.cpp +++ b/lib/Hoymiles/src/inverters/HMS_2CH.cpp @@ -4,6 +4,37 @@ */ #include "HMS_2CH.h" +static const byteAssign_t byteAssignment[] = { + { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_IDC, UNIT_A, 6, 2, 100, false, 2 }, + { TYPE_DC, CH0, FLD_PDC, UNIT_W, 10, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 14, 4, 1000, false, 3 }, + { TYPE_DC, CH0, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, + { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, + + { TYPE_DC, CH1, FLD_UDC, UNIT_V, 4, 2, 10, false, 1 }, + { TYPE_DC, CH1, FLD_IDC, UNIT_A, 8, 2, 100, false, 2 }, + { TYPE_DC, CH1, FLD_PDC, UNIT_W, 12, 2, 10, false, 1 }, + { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 18, 4, 1000, false, 3 }, + { TYPE_DC, CH1, FLD_YD, UNIT_WH, 24, 2, 1, false, 0 }, + { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, + + { TYPE_AC, CH0, FLD_UAC, UNIT_V, 26, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_IAC, UNIT_A, 34, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PAC, UNIT_W, 30, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 32, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_F, UNIT_HZ, 28, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 36, 2, 1000, false, 3 }, + + { TYPE_INV, CH0, FLD_T, UNIT_C, 38, 2, 10, true, 1 }, + { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 40, 2, 1, false, 0 }, + + { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, + { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, + { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, + { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } +}; + HMS_2CH::HMS_2CH(HoymilesRadio* radio, uint64_t serial) : HMS_Abstract(radio, serial) {}; @@ -19,7 +50,12 @@ String HMS_2CH::typeName() return "HMS-600, HMS-700, HMS-800, HMS-900, HMS-1000"; } -const std::list* HMS_2CH::getByteAssignment() +const byteAssign_t* HMS_2CH::getByteAssignment() { - return &byteAssignment; + return byteAssignment; +} + +uint8_t HMS_2CH::getByteAssignmentSize() +{ + return sizeof(byteAssignment) / sizeof(byteAssignment[0]); } \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HMS_2CH.h b/lib/Hoymiles/src/inverters/HMS_2CH.h index d5e76c51..dff704ec 100644 --- a/lib/Hoymiles/src/inverters/HMS_2CH.h +++ b/lib/Hoymiles/src/inverters/HMS_2CH.h @@ -9,37 +9,6 @@ public: explicit HMS_2CH(HoymilesRadio* radio, uint64_t serial); static bool isValidSerial(uint64_t serial); String typeName(); - const std::list* getByteAssignment(); - -private: - const std::list byteAssignment = { - { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_IDC, UNIT_A, 6, 2, 100, false, 2 }, - { TYPE_DC, CH0, FLD_PDC, UNIT_W, 10, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 14, 4, 1000, false, 3 }, - { TYPE_DC, CH0, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, - { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, - - { TYPE_DC, CH1, FLD_UDC, UNIT_V, 4, 2, 10, false, 1 }, - { TYPE_DC, CH1, FLD_IDC, UNIT_A, 8, 2, 100, false, 2 }, - { TYPE_DC, CH1, FLD_PDC, UNIT_W, 12, 2, 10, false, 1 }, - { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 18, 4, 1000, false, 3 }, - { TYPE_DC, CH1, FLD_YD, UNIT_WH, 24, 2, 1, false, 0 }, - { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, - - { TYPE_AC, CH0, FLD_UAC, UNIT_V, 26, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_IAC, UNIT_A, 34, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PAC, UNIT_W, 30, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 32, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_F, UNIT_HZ, 28, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 36, 2, 1000, false, 3 }, - - { TYPE_INV, CH0, FLD_T, UNIT_C, 38, 2, 10, true, 1 }, - { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 40, 2, 1, false, 0 }, - - { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, - { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, - { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, - { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } - }; + const byteAssign_t* getByteAssignment(); + uint8_t getByteAssignmentSize(); }; \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HMS_4CH.cpp b/lib/Hoymiles/src/inverters/HMS_4CH.cpp index db2df148..c4f22ee5 100644 --- a/lib/Hoymiles/src/inverters/HMS_4CH.cpp +++ b/lib/Hoymiles/src/inverters/HMS_4CH.cpp @@ -4,6 +4,51 @@ */ #include "HMS_4CH.h" +static const byteAssign_t byteAssignment[] = { + { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_IDC, UNIT_A, 6, 2, 100, false, 2 }, + { TYPE_DC, CH0, FLD_PDC, UNIT_W, 10, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, + { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 14, 4, 1000, false, 3 }, + { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, + + { TYPE_DC, CH1, FLD_UDC, UNIT_V, 4, 2, 10, false, 1 }, + { TYPE_DC, CH1, FLD_IDC, UNIT_A, 8, 2, 100, false, 2 }, + { TYPE_DC, CH1, FLD_PDC, UNIT_W, 12, 2, 10, false, 1 }, + { TYPE_DC, CH1, FLD_YD, UNIT_WH, 24, 2, 1, false, 0 }, + { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 18, 4, 1000, false, 3 }, + { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, + + { TYPE_DC, CH2, FLD_UDC, UNIT_V, 26, 2, 10, false, 1 }, + { TYPE_DC, CH2, FLD_IDC, UNIT_A, 30, 2, 100, false, 2 }, + { TYPE_DC, CH2, FLD_PDC, UNIT_W, 34, 2, 10, false, 1 }, + { TYPE_DC, CH2, FLD_YD, UNIT_WH, 46, 2, 1, false, 0 }, + { TYPE_DC, CH2, FLD_YT, UNIT_KWH, 38, 4, 1000, false, 3 }, + { TYPE_DC, CH2, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH2, CMD_CALC, false, 3 }, + + { TYPE_DC, CH3, FLD_UDC, UNIT_V, 28, 2, 10, false, 1 }, + { TYPE_DC, CH3, FLD_IDC, UNIT_A, 32, 2, 100, false, 2 }, + { TYPE_DC, CH3, FLD_PDC, UNIT_W, 36, 2, 10, false, 1 }, + { TYPE_DC, CH3, FLD_YD, UNIT_WH, 48, 2, 1, false, 0 }, + { TYPE_DC, CH3, FLD_YT, UNIT_KWH, 42, 4, 1000, false, 3 }, + { TYPE_DC, CH3, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH3, CMD_CALC, false, 3 }, + + { TYPE_AC, CH0, FLD_UAC, UNIT_V, 50, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_IAC, UNIT_A, 58, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PAC, UNIT_W, 54, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 56, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_F, UNIT_HZ, 52, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 60, 2, 1000, false, 3 }, + + { TYPE_INV, CH0, FLD_T, UNIT_C, 62, 2, 10, true, 1 }, + { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 64, 2, 1, false, 0 }, + + { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, + { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, + { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, + { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } +}; + HMS_4CH::HMS_4CH(HoymilesRadio* radio, uint64_t serial) : HMS_Abstract(radio, serial) {}; @@ -19,7 +64,12 @@ String HMS_4CH::typeName() return "HMS-1600, HMS-1800, HMS-2000"; } -const std::list* HMS_4CH::getByteAssignment() +const byteAssign_t* HMS_4CH::getByteAssignment() { - return &byteAssignment; + return byteAssignment; +} + +uint8_t HMS_4CH::getByteAssignmentSize() +{ + return sizeof(byteAssignment) / sizeof(byteAssignment[0]); } \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HMS_4CH.h b/lib/Hoymiles/src/inverters/HMS_4CH.h index 090bea59..6a2e2b14 100644 --- a/lib/Hoymiles/src/inverters/HMS_4CH.h +++ b/lib/Hoymiles/src/inverters/HMS_4CH.h @@ -8,51 +8,6 @@ public: explicit HMS_4CH(HoymilesRadio* radio, uint64_t serial); static bool isValidSerial(uint64_t serial); String typeName(); - const std::list* getByteAssignment(); - -private: - const std::list byteAssignment = { - { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_IDC, UNIT_A, 6, 2, 100, false, 2 }, - { TYPE_DC, CH0, FLD_PDC, UNIT_W, 10, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, - { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 14, 4, 1000, false, 3 }, - { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, - - { TYPE_DC, CH1, FLD_UDC, UNIT_V, 4, 2, 10, false, 1 }, - { TYPE_DC, CH1, FLD_IDC, UNIT_A, 8, 2, 100, false, 2 }, - { TYPE_DC, CH1, FLD_PDC, UNIT_W, 12, 2, 10, false, 1 }, - { TYPE_DC, CH1, FLD_YD, UNIT_WH, 24, 2, 1, false, 0 }, - { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 18, 4, 1000, false, 3 }, - { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, - - { TYPE_DC, CH2, FLD_UDC, UNIT_V, 26, 2, 10, false, 1 }, - { TYPE_DC, CH2, FLD_IDC, UNIT_A, 30, 2, 100, false, 2 }, - { TYPE_DC, CH2, FLD_PDC, UNIT_W, 34, 2, 10, false, 1 }, - { TYPE_DC, CH2, FLD_YD, UNIT_WH, 46, 2, 1, false, 0 }, - { TYPE_DC, CH2, FLD_YT, UNIT_KWH, 38, 4, 1000, false, 3 }, - { TYPE_DC, CH2, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH2, CMD_CALC, false, 3 }, - - { TYPE_DC, CH3, FLD_UDC, UNIT_V, 28, 2, 10, false, 1 }, - { TYPE_DC, CH3, FLD_IDC, UNIT_A, 32, 2, 100, false, 2 }, - { TYPE_DC, CH3, FLD_PDC, UNIT_W, 36, 2, 10, false, 1 }, - { TYPE_DC, CH3, FLD_YD, UNIT_WH, 48, 2, 1, false, 0 }, - { TYPE_DC, CH3, FLD_YT, UNIT_KWH, 42, 4, 1000, false, 3 }, - { TYPE_DC, CH3, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH3, CMD_CALC, false, 3 }, - - { TYPE_AC, CH0, FLD_UAC, UNIT_V, 50, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_IAC, UNIT_A, 58, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PAC, UNIT_W, 54, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 56, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_F, UNIT_HZ, 52, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 60, 2, 1000, false, 3 }, - - { TYPE_INV, CH0, FLD_T, UNIT_C, 62, 2, 10, true, 1 }, - { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 64, 2, 1, false, 0 }, - - { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, - { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, - { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, - { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } - }; + const byteAssign_t* getByteAssignment(); + uint8_t getByteAssignmentSize(); }; \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HMT_6CH.cpp b/lib/Hoymiles/src/inverters/HMT_6CH.cpp index d50963b9..b8721831 100644 --- a/lib/Hoymiles/src/inverters/HMT_6CH.cpp +++ b/lib/Hoymiles/src/inverters/HMT_6CH.cpp @@ -4,6 +4,74 @@ */ #include "HMT_6CH.h" +static const byteAssign_t byteAssignment[] = { + { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, + { TYPE_DC, CH0, FLD_PDC, UNIT_W, 8, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 12, 4, 1000, false, 3 }, + { TYPE_DC, CH0, FLD_YD, UNIT_WH, 20, 2, 1, false, 0 }, + { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, + + { TYPE_DC, CH1, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, + { TYPE_DC, CH1, FLD_IDC, UNIT_A, 6, 2, 100, false, 2 }, + { TYPE_DC, CH1, FLD_PDC, UNIT_W, 10, 2, 10, false, 1 }, + { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 16, 4, 1000, false, 3 }, + { TYPE_DC, CH1, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, + { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, + + { TYPE_DC, CH2, FLD_UDC, UNIT_V, 24, 2, 10, false, 1 }, + { TYPE_DC, CH2, FLD_IDC, UNIT_A, 26, 2, 100, false, 2 }, + { TYPE_DC, CH2, FLD_PDC, UNIT_W, 30, 2, 10, false, 1 }, + { TYPE_DC, CH2, FLD_YT, UNIT_KWH, 34, 4, 1000, false, 3 }, + { TYPE_DC, CH2, FLD_YD, UNIT_WH, 42, 2, 1, false, 0 }, + { TYPE_DC, CH2, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH2, CMD_CALC, false, 3 }, + + { TYPE_DC, CH3, FLD_UDC, UNIT_V, 24, 2, 10, false, 1 }, + { TYPE_DC, CH3, FLD_IDC, UNIT_A, 28, 2, 100, false, 2 }, + { TYPE_DC, CH3, FLD_PDC, UNIT_W, 32, 2, 10, false, 1 }, + { TYPE_DC, CH3, FLD_YT, UNIT_KWH, 38, 4, 1000, false, 3 }, + { TYPE_DC, CH3, FLD_YD, UNIT_WH, 44, 2, 1, false, 0 }, + { TYPE_DC, CH3, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH3, CMD_CALC, false, 3 }, + + { TYPE_DC, CH4, FLD_UDC, UNIT_V, 46, 2, 10, false, 1 }, + { TYPE_DC, CH4, FLD_IDC, UNIT_A, 48, 2, 100, false, 2 }, + { TYPE_DC, CH4, FLD_PDC, UNIT_W, 52, 2, 10, false, 1 }, + { TYPE_DC, CH4, FLD_YT, UNIT_KWH, 56, 4, 1000, false, 3 }, + { TYPE_DC, CH4, FLD_YD, UNIT_WH, 64, 2, 1, false, 0 }, + { TYPE_DC, CH4, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH4, CMD_CALC, false, 3 }, + + { TYPE_DC, CH5, FLD_UDC, UNIT_V, 46, 2, 10, false, 1 }, + { TYPE_DC, CH5, FLD_IDC, UNIT_A, 50, 2, 100, false, 2 }, + { TYPE_DC, CH5, FLD_PDC, UNIT_W, 54, 2, 10, false, 1 }, + { TYPE_DC, CH5, FLD_YT, UNIT_KWH, 60, 4, 1000, false, 3 }, + { TYPE_DC, CH5, FLD_YD, UNIT_WH, 66, 2, 1, false, 0 }, + { TYPE_DC, CH5, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH5, CMD_CALC, false, 3 }, + + { TYPE_AC, CH0, FLD_UAC, UNIT_V, 74, 2, 10, false, 1 }, // dummy + { TYPE_AC, CH0, FLD_UAC_1N, UNIT_V, 68, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_UAC_2N, UNIT_V, 70, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_UAC_3N, UNIT_V, 72, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_UAC_12, UNIT_V, 74, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_UAC_23, UNIT_V, 76, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_UAC_31, UNIT_V, 78, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_F, UNIT_HZ, 80, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PAC, UNIT_W, 82, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 84, 2, 10, true, 1 }, + { TYPE_AC, CH0, FLD_IAC, UNIT_A, 86, 2, 100, false, 2 }, // dummy + { TYPE_AC, CH0, FLD_IAC_1, UNIT_A, 86, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_IAC_2, UNIT_A, 88, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_IAC_3, UNIT_A, 90, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 92, 2, 1000, false, 3 }, + + { TYPE_INV, CH0, FLD_T, UNIT_C, 94, 2, 10, true, 1 }, + { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 96, 2, 1, false, 0 }, + + { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, + { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, + { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, + { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } +}; + HMT_6CH::HMT_6CH(HoymilesRadio* radio, uint64_t serial) : HMT_Abstract(radio, serial) {}; @@ -19,7 +87,12 @@ String HMT_6CH::typeName() return F("HMT-1800, HMT-2250"); } -const std::list* HMT_6CH::getByteAssignment() +const byteAssign_t* HMT_6CH::getByteAssignment() { - return &byteAssignment; -} \ No newline at end of file + return byteAssignment; +} + +uint8_t HMT_6CH::getByteAssignmentSize() +{ + return sizeof(byteAssignment) / sizeof(byteAssignment[0]); +} diff --git a/lib/Hoymiles/src/inverters/HMT_6CH.h b/lib/Hoymiles/src/inverters/HMT_6CH.h index 119d2ec1..ea4be715 100644 --- a/lib/Hoymiles/src/inverters/HMT_6CH.h +++ b/lib/Hoymiles/src/inverters/HMT_6CH.h @@ -8,74 +8,6 @@ public: explicit HMT_6CH(HoymilesRadio* radio, uint64_t serial); static bool isValidSerial(uint64_t serial); String typeName(); - const std::list* getByteAssignment(); - -private: - const std::list byteAssignment = { - { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, - { TYPE_DC, CH0, FLD_PDC, UNIT_W, 8, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 12, 4, 1000, false, 3 }, - { TYPE_DC, CH0, FLD_YD, UNIT_WH, 20, 2, 1, false, 0 }, - { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, - - { TYPE_DC, CH1, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, - { TYPE_DC, CH1, FLD_IDC, UNIT_A, 6, 2, 100, false, 2 }, - { TYPE_DC, CH1, FLD_PDC, UNIT_W, 10, 2, 10, false, 1 }, - { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 16, 4, 1000, false, 3 }, - { TYPE_DC, CH1, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, - { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, - - { TYPE_DC, CH2, FLD_UDC, UNIT_V, 24, 2, 10, false, 1 }, - { TYPE_DC, CH2, FLD_IDC, UNIT_A, 26, 2, 100, false, 2 }, - { TYPE_DC, CH2, FLD_PDC, UNIT_W, 30, 2, 10, false, 1 }, - { TYPE_DC, CH2, FLD_YT, UNIT_KWH, 34, 4, 1000, false, 3 }, - { TYPE_DC, CH2, FLD_YD, UNIT_WH, 42, 2, 1, false, 0 }, - { TYPE_DC, CH2, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH2, CMD_CALC, false, 3 }, - - { TYPE_DC, CH3, FLD_UDC, UNIT_V, 24, 2, 10, false, 1 }, - { TYPE_DC, CH3, FLD_IDC, UNIT_A, 28, 2, 100, false, 2 }, - { TYPE_DC, CH3, FLD_PDC, UNIT_W, 32, 2, 10, false, 1 }, - { TYPE_DC, CH3, FLD_YT, UNIT_KWH, 38, 4, 1000, false, 3 }, - { TYPE_DC, CH3, FLD_YD, UNIT_WH, 44, 2, 1, false, 0 }, - { TYPE_DC, CH3, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH3, CMD_CALC, false, 3 }, - - { TYPE_DC, CH4, FLD_UDC, UNIT_V, 46, 2, 10, false, 1 }, - { TYPE_DC, CH4, FLD_IDC, UNIT_A, 48, 2, 100, false, 2 }, - { TYPE_DC, CH4, FLD_PDC, UNIT_W, 52, 2, 10, false, 1 }, - { TYPE_DC, CH4, FLD_YT, UNIT_KWH, 56, 4, 1000, false, 3 }, - { TYPE_DC, CH4, FLD_YD, UNIT_WH, 64, 2, 1, false, 0 }, - { TYPE_DC, CH4, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH4, CMD_CALC, false, 3 }, - - { TYPE_DC, CH5, FLD_UDC, UNIT_V, 46, 2, 10, false, 1 }, - { TYPE_DC, CH5, FLD_IDC, UNIT_A, 50, 2, 100, false, 2 }, - { TYPE_DC, CH5, FLD_PDC, UNIT_W, 54, 2, 10, false, 1 }, - { TYPE_DC, CH5, FLD_YT, UNIT_KWH, 60, 4, 1000, false, 3 }, - { TYPE_DC, CH5, FLD_YD, UNIT_WH, 66, 2, 1, false, 0 }, - { TYPE_DC, CH5, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH5, CMD_CALC, false, 3 }, - - { TYPE_AC, CH0, FLD_UAC, UNIT_V, 74, 2, 10, false, 1 }, // dummy - { TYPE_AC, CH0, FLD_UAC_1N, UNIT_V, 68, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_UAC_2N, UNIT_V, 70, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_UAC_3N, UNIT_V, 72, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_UAC_12, UNIT_V, 74, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_UAC_23, UNIT_V, 76, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_UAC_31, UNIT_V, 78, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_F, UNIT_HZ, 80, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PAC, UNIT_W, 82, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 84, 2, 10, true, 1 }, - { TYPE_AC, CH0, FLD_IAC, UNIT_A, 86, 2, 100, false, 2 }, // dummy - { TYPE_AC, CH0, FLD_IAC_1, UNIT_A, 86, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_IAC_2, UNIT_A, 88, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_IAC_3, UNIT_A, 90, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 92, 2, 1000, false, 3 }, - - { TYPE_INV, CH0, FLD_T, UNIT_C, 94, 2, 10, true, 1 }, - { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 96, 2, 1, false, 0 }, - - { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, - { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, - { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, - { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } - }; + const byteAssign_t* getByteAssignment(); + uint8_t getByteAssignmentSize(); }; \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HM_1CH.cpp b/lib/Hoymiles/src/inverters/HM_1CH.cpp index df3a8442..5513aead 100644 --- a/lib/Hoymiles/src/inverters/HM_1CH.cpp +++ b/lib/Hoymiles/src/inverters/HM_1CH.cpp @@ -4,6 +4,30 @@ */ #include "HM_1CH.h" +static const byteAssign_t byteAssignment[] = { + { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, + { TYPE_DC, CH0, FLD_PDC, UNIT_W, 6, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_YD, UNIT_WH, 12, 2, 1, false, 0 }, + { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 8, 4, 1000, false, 3 }, + { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, + + { TYPE_AC, CH0, FLD_UAC, UNIT_V, 14, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_IAC, UNIT_A, 22, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PAC, UNIT_W, 18, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 20, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_F, UNIT_HZ, 16, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 24, 2, 1000, false, 3 }, + + { TYPE_INV, CH0, FLD_T, UNIT_C, 26, 2, 10, true, 1 }, + { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 28, 2, 1, false, 0 }, + + { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, + { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, + { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, + { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } +}; + HM_1CH::HM_1CH(HoymilesRadio* radio, uint64_t serial) : HM_Abstract(radio, serial) {}; @@ -32,7 +56,12 @@ String HM_1CH::typeName() return "HM-300, HM-350, HM-400"; } -const std::list* HM_1CH::getByteAssignment() +const byteAssign_t* HM_1CH::getByteAssignment() { - return &byteAssignment; + return byteAssignment; +} + +uint8_t HM_1CH::getByteAssignmentSize() +{ + return sizeof(byteAssignment) / sizeof(byteAssignment[0]); } \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HM_1CH.h b/lib/Hoymiles/src/inverters/HM_1CH.h index 11dcbe24..cb18dcf5 100644 --- a/lib/Hoymiles/src/inverters/HM_1CH.h +++ b/lib/Hoymiles/src/inverters/HM_1CH.h @@ -9,30 +9,6 @@ public: explicit HM_1CH(HoymilesRadio* radio, uint64_t serial); static bool isValidSerial(uint64_t serial); String typeName(); - const std::list* getByteAssignment(); - -private: - const std::list byteAssignment = { - { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, - { TYPE_DC, CH0, FLD_PDC, UNIT_W, 6, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_YD, UNIT_WH, 12, 2, 1, false, 0 }, - { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 8, 4, 1000, false, 3 }, - { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, - - { TYPE_AC, CH0, FLD_UAC, UNIT_V, 14, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_IAC, UNIT_A, 22, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PAC, UNIT_W, 18, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 20, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_F, UNIT_HZ, 16, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 24, 2, 1000, false, 3 }, - - { TYPE_INV, CH0, FLD_T, UNIT_C, 26, 2, 10, true, 1 }, - { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 28, 2, 1, false, 0 }, - - { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, - { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, - { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, - { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } - }; + const byteAssign_t* getByteAssignment(); + uint8_t getByteAssignmentSize(); }; \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HM_2CH.cpp b/lib/Hoymiles/src/inverters/HM_2CH.cpp index 87c5f394..e0ba644d 100644 --- a/lib/Hoymiles/src/inverters/HM_2CH.cpp +++ b/lib/Hoymiles/src/inverters/HM_2CH.cpp @@ -5,6 +5,37 @@ */ #include "HM_2CH.h" +static const byteAssign_t byteAssignment[] = { + { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, + { TYPE_DC, CH0, FLD_PDC, UNIT_W, 6, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, + { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 14, 4, 1000, false, 3 }, + { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, + + { TYPE_DC, CH1, FLD_UDC, UNIT_V, 8, 2, 10, false, 1 }, + { TYPE_DC, CH1, FLD_IDC, UNIT_A, 10, 2, 100, false, 2 }, + { TYPE_DC, CH1, FLD_PDC, UNIT_W, 12, 2, 10, false, 1 }, + { TYPE_DC, CH1, FLD_YD, UNIT_WH, 24, 2, 1, false, 0 }, + { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 18, 4, 1000, false, 3 }, + { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, + + { TYPE_AC, CH0, FLD_UAC, UNIT_V, 26, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_IAC, UNIT_A, 34, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PAC, UNIT_W, 30, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 32, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_F, UNIT_HZ, 28, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 36, 2, 1000, false, 3 }, + + { TYPE_INV, CH0, FLD_T, UNIT_C, 38, 2, 10, true, 1 }, + { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 40, 2, 1, false, 0 }, + + { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, + { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, + { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, + { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } +}; + HM_2CH::HM_2CH(HoymilesRadio* radio, uint64_t serial) : HM_Abstract(radio, serial) {}; @@ -33,7 +64,12 @@ String HM_2CH::typeName() return "HM-600, HM-700, HM-800"; } -const std::list* HM_2CH::getByteAssignment() +const byteAssign_t* HM_2CH::getByteAssignment() { - return &byteAssignment; + return byteAssignment; +} + +uint8_t HM_2CH::getByteAssignmentSize() +{ + return sizeof(byteAssignment) / sizeof(byteAssignment[0]); } \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HM_2CH.h b/lib/Hoymiles/src/inverters/HM_2CH.h index a79a854b..06ac509d 100644 --- a/lib/Hoymiles/src/inverters/HM_2CH.h +++ b/lib/Hoymiles/src/inverters/HM_2CH.h @@ -8,37 +8,6 @@ public: explicit HM_2CH(HoymilesRadio* radio, uint64_t serial); static bool isValidSerial(uint64_t serial); String typeName(); - const std::list* getByteAssignment(); - -private: - const std::list byteAssignment = { - { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, - { TYPE_DC, CH0, FLD_PDC, UNIT_W, 6, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, - { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 14, 4, 1000, false, 3 }, - { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, - - { TYPE_DC, CH1, FLD_UDC, UNIT_V, 8, 2, 10, false, 1 }, - { TYPE_DC, CH1, FLD_IDC, UNIT_A, 10, 2, 100, false, 2 }, - { TYPE_DC, CH1, FLD_PDC, UNIT_W, 12, 2, 10, false, 1 }, - { TYPE_DC, CH1, FLD_YD, UNIT_WH, 24, 2, 1, false, 0 }, - { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 18, 4, 1000, false, 3 }, - { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, - - { TYPE_AC, CH0, FLD_UAC, UNIT_V, 26, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_IAC, UNIT_A, 34, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PAC, UNIT_W, 30, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 32, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_F, UNIT_HZ, 28, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 36, 2, 1000, false, 3 }, - - { TYPE_INV, CH0, FLD_T, UNIT_C, 38, 2, 10, true, 1 }, - { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 40, 2, 1, false, 0 }, - - { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, - { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, - { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, - { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } - }; + const byteAssign_t* getByteAssignment(); + uint8_t getByteAssignmentSize(); }; \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HM_4CH.cpp b/lib/Hoymiles/src/inverters/HM_4CH.cpp index cc52b482..a8195545 100644 --- a/lib/Hoymiles/src/inverters/HM_4CH.cpp +++ b/lib/Hoymiles/src/inverters/HM_4CH.cpp @@ -4,6 +4,51 @@ */ #include "HM_4CH.h" +static const byteAssign_t byteAssignment[] = { + { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, + { TYPE_DC, CH0, FLD_PDC, UNIT_W, 8, 2, 10, false, 1 }, + { TYPE_DC, CH0, FLD_YD, UNIT_WH, 20, 2, 1, false, 0 }, + { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 12, 4, 1000, false, 3 }, + { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, + + { TYPE_DC, CH1, FLD_UDC, UNIT_V, CALC_UDC_CH, CH0, CMD_CALC, false, 1 }, + { TYPE_DC, CH1, FLD_IDC, UNIT_A, 6, 2, 100, false, 2 }, + { TYPE_DC, CH1, FLD_PDC, UNIT_W, 10, 2, 10, false, 1 }, + { TYPE_DC, CH1, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, + { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 16, 4, 1000, false, 3 }, + { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, + + { TYPE_DC, CH2, FLD_UDC, UNIT_V, 24, 2, 10, false, 1 }, + { TYPE_DC, CH2, FLD_IDC, UNIT_A, 26, 2, 100, false, 2 }, + { TYPE_DC, CH2, FLD_PDC, UNIT_W, 30, 2, 10, false, 1 }, + { TYPE_DC, CH2, FLD_YD, UNIT_WH, 42, 2, 1, false, 0 }, + { TYPE_DC, CH2, FLD_YT, UNIT_KWH, 34, 4, 1000, false, 3 }, + { TYPE_DC, CH2, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH2, CMD_CALC, false, 3 }, + + { TYPE_DC, CH3, FLD_UDC, UNIT_V, CALC_UDC_CH, CH2, CMD_CALC, false, 1 }, + { TYPE_DC, CH3, FLD_IDC, UNIT_A, 28, 2, 100, false, 2 }, + { TYPE_DC, CH3, FLD_PDC, UNIT_W, 32, 2, 10, false, 1 }, + { TYPE_DC, CH3, FLD_YD, UNIT_WH, 44, 2, 1, false, 0 }, + { TYPE_DC, CH3, FLD_YT, UNIT_KWH, 38, 4, 1000, false, 3 }, + { TYPE_DC, CH3, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH3, CMD_CALC, false, 3 }, + + { TYPE_AC, CH0, FLD_UAC, UNIT_V, 46, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_IAC, UNIT_A, 54, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PAC, UNIT_W, 50, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 52, 2, 10, false, 1 }, + { TYPE_AC, CH0, FLD_F, UNIT_HZ, 48, 2, 100, false, 2 }, + { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 56, 2, 1000, false, 3 }, + + { TYPE_INV, CH0, FLD_T, UNIT_C, 58, 2, 10, true, 1 }, + { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 60, 2, 1, false, 0 }, + + { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, + { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, + { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, + { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } +}; + HM_4CH::HM_4CH(HoymilesRadio* radio, uint64_t serial) : HM_Abstract(radio, serial) {}; @@ -32,7 +77,12 @@ String HM_4CH::typeName() return "HM-1000, HM-1200, HM-1500"; } -const std::list* HM_4CH::getByteAssignment() +const byteAssign_t* HM_4CH::getByteAssignment() { - return &byteAssignment; + return byteAssignment; +} + +uint8_t HM_4CH::getByteAssignmentSize() +{ + return sizeof(byteAssignment) / sizeof(byteAssignment[0]); } \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/HM_4CH.h b/lib/Hoymiles/src/inverters/HM_4CH.h index dc5ea550..44d341ae 100644 --- a/lib/Hoymiles/src/inverters/HM_4CH.h +++ b/lib/Hoymiles/src/inverters/HM_4CH.h @@ -8,51 +8,6 @@ public: explicit HM_4CH(HoymilesRadio* radio, uint64_t serial); static bool isValidSerial(uint64_t serial); String typeName(); - const std::list* getByteAssignment(); - -private: - const std::list byteAssignment = { - { TYPE_DC, CH0, FLD_UDC, UNIT_V, 2, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_IDC, UNIT_A, 4, 2, 100, false, 2 }, - { TYPE_DC, CH0, FLD_PDC, UNIT_W, 8, 2, 10, false, 1 }, - { TYPE_DC, CH0, FLD_YD, UNIT_WH, 20, 2, 1, false, 0 }, - { TYPE_DC, CH0, FLD_YT, UNIT_KWH, 12, 4, 1000, false, 3 }, - { TYPE_DC, CH0, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH0, CMD_CALC, false, 3 }, - - { TYPE_DC, CH1, FLD_UDC, UNIT_V, CALC_UDC_CH, CH0, CMD_CALC, false, 1 }, - { TYPE_DC, CH1, FLD_IDC, UNIT_A, 6, 2, 100, false, 2 }, - { TYPE_DC, CH1, FLD_PDC, UNIT_W, 10, 2, 10, false, 1 }, - { TYPE_DC, CH1, FLD_YD, UNIT_WH, 22, 2, 1, false, 0 }, - { TYPE_DC, CH1, FLD_YT, UNIT_KWH, 16, 4, 1000, false, 3 }, - { TYPE_DC, CH1, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH1, CMD_CALC, false, 3 }, - - { TYPE_DC, CH2, FLD_UDC, UNIT_V, 24, 2, 10, false, 1 }, - { TYPE_DC, CH2, FLD_IDC, UNIT_A, 26, 2, 100, false, 2 }, - { TYPE_DC, CH2, FLD_PDC, UNIT_W, 30, 2, 10, false, 1 }, - { TYPE_DC, CH2, FLD_YD, UNIT_WH, 42, 2, 1, false, 0 }, - { TYPE_DC, CH2, FLD_YT, UNIT_KWH, 34, 4, 1000, false, 3 }, - { TYPE_DC, CH2, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH2, CMD_CALC, false, 3 }, - - { TYPE_DC, CH3, FLD_UDC, UNIT_V, CALC_UDC_CH, CH2, CMD_CALC, false, 1 }, - { TYPE_DC, CH3, FLD_IDC, UNIT_A, 28, 2, 100, false, 2 }, - { TYPE_DC, CH3, FLD_PDC, UNIT_W, 32, 2, 10, false, 1 }, - { TYPE_DC, CH3, FLD_YD, UNIT_WH, 44, 2, 1, false, 0 }, - { TYPE_DC, CH3, FLD_YT, UNIT_KWH, 38, 4, 1000, false, 3 }, - { TYPE_DC, CH3, FLD_IRR, UNIT_PCT, CALC_IRR_CH, CH3, CMD_CALC, false, 3 }, - - { TYPE_AC, CH0, FLD_UAC, UNIT_V, 46, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_IAC, UNIT_A, 54, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PAC, UNIT_W, 50, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_PRA, UNIT_VA, 52, 2, 10, false, 1 }, - { TYPE_AC, CH0, FLD_F, UNIT_HZ, 48, 2, 100, false, 2 }, - { TYPE_AC, CH0, FLD_PF, UNIT_NONE, 56, 2, 1000, false, 3 }, - - { TYPE_INV, CH0, FLD_T, UNIT_C, 58, 2, 10, true, 1 }, - { TYPE_INV, CH0, FLD_EVT_LOG, UNIT_NONE, 60, 2, 1, false, 0 }, - - { TYPE_AC, CH0, FLD_YD, UNIT_WH, CALC_YD_CH0, 0, CMD_CALC, false, 0 }, - { TYPE_AC, CH0, FLD_YT, UNIT_KWH, CALC_YT_CH0, 0, CMD_CALC, false, 3 }, - { TYPE_AC, CH0, FLD_PDC, UNIT_W, CALC_PDC_CH0, 0, CMD_CALC, false, 1 }, - { TYPE_AC, CH0, FLD_EFF, UNIT_PCT, CALC_EFF_CH0, 0, CMD_CALC, false, 3 } - }; + const byteAssign_t* getByteAssignment(); + uint8_t getByteAssignmentSize(); }; \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/InverterAbstract.cpp b/lib/Hoymiles/src/inverters/InverterAbstract.cpp index 3833aac6..5830da0a 100644 --- a/lib/Hoymiles/src/inverters/InverterAbstract.cpp +++ b/lib/Hoymiles/src/inverters/InverterAbstract.cpp @@ -31,7 +31,7 @@ void InverterAbstract::init() // Not possible in constructor --> virtual function // Not possible in verifyAllFragments --> Because no data if nothing is ever received // It has to be executed because otherwise the getChannelCount method in stats always returns 0 - _statisticsParser.get()->setByteAssignment(getByteAssignment()); + _statisticsParser.get()->setByteAssignment(getByteAssignment(), getByteAssignmentSize()); } uint64_t InverterAbstract::serial() diff --git a/lib/Hoymiles/src/inverters/InverterAbstract.h b/lib/Hoymiles/src/inverters/InverterAbstract.h index 755414f2..e12211d3 100644 --- a/lib/Hoymiles/src/inverters/InverterAbstract.h +++ b/lib/Hoymiles/src/inverters/InverterAbstract.h @@ -37,7 +37,8 @@ public: void setName(const char* name); const char* name(); virtual String typeName() = 0; - virtual const std::list* getByteAssignment() = 0; + virtual const byteAssign_t* getByteAssignment() = 0; + virtual uint8_t getByteAssignmentSize() = 0; bool isProducing(); bool isReachable(); diff --git a/lib/Hoymiles/src/parser/StatisticsParser.cpp b/lib/Hoymiles/src/parser/StatisticsParser.cpp index 03ea86ad..0575a5fb 100644 --- a/lib/Hoymiles/src/parser/StatisticsParser.cpp +++ b/lib/Hoymiles/src/parser/StatisticsParser.cpp @@ -28,9 +28,10 @@ const calcFunc_t calcFunctions[] = { { CALC_IRR_CH, &calcIrradiation } }; -void StatisticsParser::setByteAssignment(const std::list* byteAssignment) +void StatisticsParser::setByteAssignment(const byteAssign_t* byteAssignment, uint8_t size) { _byteAssignment = byteAssignment; + _byteAssignmentSize = size; } void StatisticsParser::clearBuffer() @@ -51,9 +52,9 @@ void StatisticsParser::appendFragment(uint8_t offset, uint8_t* payload, uint8_t const byteAssign_t* StatisticsParser::getAssignmentByChannelField(ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId) { - for (auto const& i : *_byteAssignment) { - if (i.type == type && i.ch == channel && i.fieldId == fieldId) { - return &i; + for (uint8_t i = 0; i < _byteAssignmentSize; i++) { + if (_byteAssignment[i].type == type && _byteAssignment[i].ch == channel && _byteAssignment[i].fieldId == fieldId) { + return &_byteAssignment[i]; } } return NULL; @@ -172,9 +173,9 @@ const char* StatisticsParser::getChannelTypeName(ChannelType_t type) std::list StatisticsParser::getChannelsByType(ChannelType_t type) { std::list l; - for (auto const& b : *_byteAssignment) { - if (b.type == type) { - l.push_back(b.ch); + for (uint8_t i = 0; i < _byteAssignmentSize; i++) { + if (_byteAssignment[i].type == type) { + l.push_back(_byteAssignment[i].ch); } } l.unique(); diff --git a/lib/Hoymiles/src/parser/StatisticsParser.h b/lib/Hoymiles/src/parser/StatisticsParser.h index 1b09395e..f4e51b6a 100644 --- a/lib/Hoymiles/src/parser/StatisticsParser.h +++ b/lib/Hoymiles/src/parser/StatisticsParser.h @@ -107,7 +107,7 @@ public: void clearBuffer(); void appendFragment(uint8_t offset, uint8_t* payload, uint8_t len); - void setByteAssignment(const std::list* byteAssignment); + void setByteAssignment(const byteAssign_t* byteAssignment, uint8_t size); const byteAssign_t* getAssignmentByChannelField(ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId); fieldSettings_t* getSettingByChannelField(ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId); @@ -137,7 +137,8 @@ private: uint8_t _statisticLength = 0; uint16_t _stringMaxPower[CH_CNT]; - const std::list* _byteAssignment; + const byteAssign_t* _byteAssignment; + uint8_t _byteAssignmentSize; std::list _fieldSettings; uint32_t _rxFailureCount = 0; From 793cd9db91f0dea29886591f39682bab7a439451 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Sat, 22 Apr 2023 10:59:32 +0200 Subject: [PATCH 09/14] Fix: Possible crash when multiple tasks accessed the SPI bus This could happen when the main loop and the web server callback accessed the SPI bus at the same time (e.g. to show the isConnected status) --- lib/CMT2300a/cmt_spi3.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/CMT2300a/cmt_spi3.c b/lib/CMT2300a/cmt_spi3.c index 7092b528..59854305 100644 --- a/lib/CMT2300a/cmt_spi3.c +++ b/lib/CMT2300a/cmt_spi3.c @@ -3,10 +3,16 @@ #include #include // for esp_rom_gpio_connect_out_signal +SemaphoreHandle_t paramLock=NULL; +#define SPI_PARAM_LOCK() do {} while (xSemaphoreTake(paramLock, portMAX_DELAY) != pdPASS) +#define SPI_PARAM_UNLOCK() xSemaphoreGive(paramLock) + spi_device_handle_t spi_reg, spi_fifo; void cmt_spi3_init(int8_t pin_sdio, int8_t pin_clk, int8_t pin_cs, int8_t pin_fcs, uint32_t spi_speed) { + paramLock = xSemaphoreCreateMutex(); + spi_bus_config_t buscfg = { .mosi_io_num = pin_sdio, .miso_io_num = -1, // single wire MOSI/MISO @@ -62,7 +68,9 @@ void cmt_spi3_write(uint8_t addr, uint8_t dat) .tx_buffer = &tx_data, .rx_buffer = NULL }; + SPI_PARAM_LOCK(); ESP_ERROR_CHECK(spi_device_polling_transmit(spi_reg, &t)); + SPI_PARAM_UNLOCK(); delayMicroseconds(100); } @@ -76,7 +84,9 @@ uint8_t cmt_spi3_read(uint8_t addr) .tx_buffer = &tx_data, .rx_buffer = &rx_data }; + SPI_PARAM_LOCK(); ESP_ERROR_CHECK(spi_device_polling_transmit(spi_reg, &t)); + SPI_PARAM_UNLOCK(); delayMicroseconds(100); return rx_data; } @@ -92,11 +102,13 @@ void cmt_spi3_write_fifo(const uint8_t* buf, uint16_t len) .rx_buffer = NULL }; + SPI_PARAM_LOCK(); for (uint8_t i = 0; i < len; i++) { tx_data = ~buf[i]; // negate buffer contents ESP_ERROR_CHECK(spi_device_polling_transmit(spi_fifo, &t)); delayMicroseconds(4); // > 4 us } + SPI_PARAM_UNLOCK(); } void cmt_spi3_read_fifo(uint8_t* buf, uint16_t len) @@ -110,9 +122,11 @@ void cmt_spi3_read_fifo(uint8_t* buf, uint16_t len) .rx_buffer = &rx_data }; + SPI_PARAM_LOCK(); for (uint8_t i = 0; i < len; i++) { ESP_ERROR_CHECK(spi_device_polling_transmit(spi_fifo, &t)); delayMicroseconds(4); // > 4 us buf[i] = rx_data; } + SPI_PARAM_UNLOCK(); } From 26cbc496a795454b6808913f4fe66f6c623a267c Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 24 Apr 2023 18:51:30 +0200 Subject: [PATCH 10/14] Feature: Implemented MQTT publishing of total values If one or more inverter is not reachable the flag is_valid changes to zero. Disabled inverters are ignored. --- include/MqttHandleInverterTotal.h | 15 ++++++ src/MqttHandleInverterTotal.cpp | 77 +++++++++++++++++++++++++++++++ src/main.cpp | 3 ++ 3 files changed, 95 insertions(+) create mode 100644 include/MqttHandleInverterTotal.h create mode 100644 src/MqttHandleInverterTotal.cpp diff --git a/include/MqttHandleInverterTotal.h b/include/MqttHandleInverterTotal.h new file mode 100644 index 00000000..fa4ce4b6 --- /dev/null +++ b/include/MqttHandleInverterTotal.h @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include + +class MqttHandleInverterTotalClass { +public: + void init(); + void loop(); + +private: + TimeoutHelper _lastPublish; +}; + +extern MqttHandleInverterTotalClass MqttHandleInverterTotal; \ No newline at end of file diff --git a/src/MqttHandleInverterTotal.cpp b/src/MqttHandleInverterTotal.cpp new file mode 100644 index 00000000..6d14576c --- /dev/null +++ b/src/MqttHandleInverterTotal.cpp @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (C) 2023 Thomas Basler and others + */ +#include "MqttHandleInverterTotal.h" +#include "Configuration.h" +#include "MqttSettings.h" +#include + +MqttHandleInverterTotalClass MqttHandleInverterTotal; + +void MqttHandleInverterTotalClass::init() +{ + _lastPublish.set(Configuration.get().Mqtt_PublishInterval * 1000); +} + +void MqttHandleInverterTotalClass::loop() +{ + if (!MqttSettings.getConnected() || !Hoymiles.isAllRadioIdle()) { + return; + } + + if (_lastPublish.occured()) { + float totalAcPower = 0; + float totalDcPower = 0; + float totalDcPowerIrr = 0; + float totalDcPowerIrrInst = 0; + float totalAcYieldDay = 0; + float totalAcYieldTotal = 0; + uint8_t totalAcPowerDigits = 0; + uint8_t totalDcPowerDigits = 0; + uint8_t totalAcYieldDayDigits = 0; + uint8_t totalAcYieldTotalDigits = 0; + bool totalReachable = true; + + for (uint8_t i = 0; i < Hoymiles.getNumInverters(); i++) { + auto inv = Hoymiles.getInverterByPos(i); + if (inv == nullptr || !inv->getEnablePolling()) { + continue; + } + + if (!inv->isReachable()) { + totalReachable = false; + } + + for (auto& c : inv->Statistics()->getChannelsByType(TYPE_AC)) { + totalAcPower += inv->Statistics()->getChannelFieldValue(TYPE_AC, c, FLD_PAC); + totalAcPowerDigits = max(totalAcPowerDigits, inv->Statistics()->getChannelFieldDigits(TYPE_AC, c, FLD_PAC)); + + totalAcYieldDay += inv->Statistics()->getChannelFieldValue(TYPE_AC, c, FLD_YD); + totalAcYieldDayDigits = max(totalAcYieldDayDigits, inv->Statistics()->getChannelFieldDigits(TYPE_AC, c, FLD_YD)); + + totalAcYieldTotal += inv->Statistics()->getChannelFieldValue(TYPE_AC, c, FLD_YT); + totalAcYieldTotalDigits = max(totalAcYieldTotalDigits, inv->Statistics()->getChannelFieldDigits(TYPE_AC, c, FLD_YT)); + } + for (auto& c : inv->Statistics()->getChannelsByType(TYPE_DC)) { + totalDcPower += inv->Statistics()->getChannelFieldValue(TYPE_DC, c, FLD_PDC); + totalDcPowerDigits = max(totalDcPowerDigits, inv->Statistics()->getChannelFieldDigits(TYPE_DC, c, FLD_PDC)); + + if (inv->Statistics()->getStringMaxPower(c) > 0) { + totalDcPowerIrr += inv->Statistics()->getChannelFieldValue(TYPE_DC, c, FLD_PDC); + totalDcPowerIrrInst += inv->Statistics()->getStringMaxPower(c); + } + } + } + + MqttSettings.publish("ac/power", String(totalAcPower, static_cast(totalAcPowerDigits))); + MqttSettings.publish("ac/yieldtotal", String(totalAcYieldDay, static_cast(totalAcYieldDayDigits))); + MqttSettings.publish("ac/yieldday", String(totalAcYieldTotal, static_cast(totalAcYieldTotalDigits))); + MqttSettings.publish("ac/is_valid", String(totalReachable)); + MqttSettings.publish("dc/power", String(totalDcPower, static_cast(totalAcPowerDigits))); + MqttSettings.publish("dc/irradiation", String(totalDcPowerIrrInst > 0 ? totalDcPowerIrr / totalDcPowerIrrInst * 100.0f : 0, 3)); + MqttSettings.publish("dc/is_valid", String(totalReachable)); + + _lastPublish.set(Configuration.get().Mqtt_PublishInterval * 1000); + } +} diff --git a/src/main.cpp b/src/main.cpp index 76cb1f3c..172b3a43 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -10,6 +10,7 @@ #include "MqttHandleDtu.h" #include "MqttHandleHass.h" #include "MqttHandleInverter.h" +#include "MqttHandleInverterTotal.h" #include "MqttSettings.h" #include "NetworkSettings.h" #include "NtpSettings.h" @@ -92,6 +93,7 @@ void setup() MqttSettings.init(); MqttHandleDtu.init(); MqttHandleInverter.init(); + MqttHandleInverterTotal.init(); MqttHandleHass.init(); MessageOutput.println("done"); @@ -146,6 +148,7 @@ void loop() yield(); MqttHandleInverter.loop(); yield(); + MqttHandleInverterTotal.loop(); MqttHandleHass.loop(); yield(); WebApi.loop(); From ece488cb2a24db3855b801fc5c7dd4e67c2ffd5f Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 24 Apr 2023 18:54:52 +0200 Subject: [PATCH 11/14] Doc: Added hint regarding multiple DTUs per inverter Fix #831 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 58836100..e1bc14ec 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,7 @@ A documentation of the Web API can be found here: [Web-API Documentation](docs/W * If your problem persists, check the [Issues on Github](https://github.com/tbnobody/OpenDTU/issues). Please inspect not only the open issues, also the closed issues contain useful information. * Another source of information are the [Discussions](https://github.com/tbnobody/OpenDTU/discussions/) * When flashing with VSCode Plattform.IO fails and also with ESPRESSIF tool a demo bin file cannot be flashed to the ESP32 with error message "A fatal error occurred: MD5 of file does not match data in flash!" than un-wire/unconnect ESP32 from the NRF24L01+ board. Try to flash again and rewire afterwards. +* Make sure to connect one inverter only to one DTU (Original, Ahoy, OpenDTU doesn't make a difference). If you query a inverter by multiple DTUs you will get strange peaks in your values. ## Related Projects From 1da545725af86ad1d00580b3fc93bc6e067bdbf9 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 24 Apr 2023 20:21:51 +0200 Subject: [PATCH 12/14] webapp: Update dependencies --- webapp/package.json | 9 +-- webapp/tsconfig.config.json | 23 +++++--- webapp/tsconfig.json | 6 +- webapp/yarn.lock | 113 ++++++++++++++++++++---------------- 4 files changed, 87 insertions(+), 64 deletions(-) diff --git a/webapp/package.json b/webapp/package.json index 47b8b90b..88302944 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -23,13 +23,14 @@ "devDependencies": { "@intlify/unplugin-vue-i18n": "^0.10.0", "@rushstack/eslint-patch": "^1.2.0", + "@tsconfig/node18": "^2.0.0", "@types/bootstrap": "^5.2.6", - "@types/node": "^18.15.12", + "@types/node": "^18.16.0", "@types/spark-md5": "^3.0.2", "@vitejs/plugin-vue": "^4.1.0", "@vue/eslint-config-typescript": "^11.0.2", - "@vue/tsconfig": "^0.1.3", - "eslint": "^8.38.0", + "@vue/tsconfig": "^0.3.2", + "eslint": "^8.39.0", "eslint-plugin-vue": "^9.11.0", "npm-run-all": "^4.1.5", "sass": "^1.62.0", @@ -38,6 +39,6 @@ "vite": "^4.3.1", "vite-plugin-compression": "^0.5.1", "vite-plugin-css-injected-by-js": "^3.1.0", - "vue-tsc": "^1.4.0" + "vue-tsc": "^1.4.4" } } diff --git a/webapp/tsconfig.config.json b/webapp/tsconfig.config.json index c2d3a309..1fccd77c 100644 --- a/webapp/tsconfig.config.json +++ b/webapp/tsconfig.config.json @@ -1,8 +1,17 @@ { - "extends": "@vue/tsconfig/tsconfig.node.json", - "include": ["vite.config.*", "vitest.config.*", "cypress.config.*"], - "compilerOptions": { - "composite": true, - "types": ["node"] - } -} + "extends": [ + "@tsconfig/node18/tsconfig.json", + "@vue/tsconfig/tsconfig.json" + ], + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*" + ], + "compilerOptions": { + "composite": true, + "types": [ + "node" + ] + } +} \ No newline at end of file diff --git a/webapp/tsconfig.json b/webapp/tsconfig.json index e39c64d5..5168db6e 100644 --- a/webapp/tsconfig.json +++ b/webapp/tsconfig.json @@ -1,13 +1,13 @@ { - "extends": "@vue/tsconfig/tsconfig.web.json", + "extends": "@vue/tsconfig/tsconfig.dom.json", "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], "compilerOptions": { - "ignoreDeprecations": "5.0", "baseUrl": ".", "paths": { "@/*": ["./src/*"] }, - "lib": ["ES2021", "DOM"] + "lib": ["ES2021", "DOM"], + "moduleResolution": "Node", }, "references": [ diff --git a/webapp/yarn.lock b/webapp/yarn.lock index 2d1d6da2..e7ae7698 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -151,10 +151,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.38.0.tgz#73a8a0d8aa8a8e6fe270431c5e72ae91b5337892" - integrity sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g== +"@eslint/js@8.39.0": + version "8.39.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.39.0.tgz#58b536bcc843f4cd1e02a7e6171da5c040f4d44b" + integrity sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng== "@humanwhocodes/config-array@^0.11.8": version "0.11.8" @@ -344,6 +344,11 @@ resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== +"@tsconfig/node18@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tsconfig/node18/-/node18-2.0.0.tgz#58b52430d00913dc26c4459fbc7f05396e47886a" + integrity sha512-uI/B0ShkiEwTk036pncXucVlj4y11EW6mycQvCEzC1PkR2TBvdQZ5Wf96dp+XXWAc70FEDfvwTqanoaDpP6rPw== + "@types/bootstrap@^5.2.6": version "5.2.6" resolved "https://registry.yarnpkg.com/@types/bootstrap/-/bootstrap-5.2.6.tgz#e861b3aa1f4a1434da0bf50fbaa372b6f7e64d2f" @@ -361,10 +366,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== -"@types/node@^18.15.12": - version "18.15.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.12.tgz#833756634e78c829e1254db006468dadbb0c696b" - integrity sha512-Wha1UwsB3CYdqUm2PPzh/1gujGCNtWVUYF0mB00fJFoR4gTyWTDPjSm+zBF787Ahw8vSGgBja90MkgFwvB86Dg== +"@types/node@^18.16.0": + version "18.16.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.0.tgz#4668bc392bb6938637b47e98b1f2ed5426f33316" + integrity sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ== "@types/spark-md5@^3.0.2": version "3.0.2" @@ -490,34 +495,34 @@ resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz#b6a9d83cd91575f7ee15593f6444397f68751073" integrity sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ== -"@volar/language-core@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.4.0.tgz#cad7ed76b10575142885a7a7edd1176d93c48083" - integrity sha512-zZg771L/v4MCPwM1KJxvnQ3q3QgbGJtEytivqf+PsxPr0kQ7XtwB1J30dd+YSGN869pXXZ0V6vWdHkDpWC8F3A== +"@volar/language-core@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.4.1.tgz#66b5758252e35c4e5e71197ca7fa0344d306442c" + integrity sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ== dependencies: - "@volar/source-map" "1.4.0" + "@volar/source-map" "1.4.1" -"@volar/source-map@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.4.0.tgz#b9e6f21bd617cf73db5245352b25f260ca8a8062" - integrity sha512-gkV8ol9qtP7aMdgijc8a5Yoxxoo90TT55YCi9bsMbKxEUDsOAnlciFNlijR9Ebe42d67GV3w15/RzjveTRNGBw== +"@volar/source-map@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.4.1.tgz#e3b561775c742508e5e1f28609a4787c98056715" + integrity sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA== dependencies: muggle-string "^0.2.2" -"@volar/typescript@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.4.0.tgz#11473a68b09d8e662f98c83ce64e0e614deb2ac9" - integrity sha512-r6OMHj/LeS86iQy3LEjjS+qpmHr9I7BiH8gAwp9WEJP76FHlMPi/EPDQxhf3VcMQ/w6Pi5aBczqI+I3akr9t4g== +"@volar/typescript@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.4.1.tgz#a013419e6f029155e5467443f3ab72815da608b5" + integrity sha512-phTy6p9yG6bgMIKQWEeDOi/aeT0njZsb1a/G1mrEuDsLmAn24Le4gDwSsGNhea6Uhu+3gdpUZn2PmZXa+WG2iQ== dependencies: - "@volar/language-core" "1.4.0" + "@volar/language-core" "1.4.1" -"@volar/vue-language-core@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@volar/vue-language-core/-/vue-language-core-1.4.0.tgz#8c087dbcc533c5682303378b126e189bc5257c3c" - integrity sha512-AIl9iW/6qac1FIJNi6cL27HNNWQWN1gzYkAA3qgcyvpx83a7YEbm9uPC9oelQhiODwFtdt3f3U5ta0l/5kKqjw== +"@volar/vue-language-core@1.4.4": + version "1.4.4" + resolved "https://registry.yarnpkg.com/@volar/vue-language-core/-/vue-language-core-1.4.4.tgz#6c1cf289cd1caa0f433a0765d288cf6fbe54dff5" + integrity sha512-c3hL6un+CfoOlusGvpypcodmk9ke/ImrWIUc0GkgI+imoQpUGzgu3tEQWlPs604R7AhxeZwWUi8hQNfax0R/zA== dependencies: - "@volar/language-core" "1.4.0" - "@volar/source-map" "1.4.0" + "@volar/language-core" "1.4.1" + "@volar/source-map" "1.4.1" "@vue/compiler-dom" "^3.2.0" "@vue/compiler-sfc" "^3.2.0" "@vue/reactivity" "^3.2.0" @@ -526,13 +531,13 @@ muggle-string "^0.2.2" vue-template-compiler "^2.7.14" -"@volar/vue-typescript@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@volar/vue-typescript/-/vue-typescript-1.4.0.tgz#794f4c705a4951ac823dfbd080254a1b8a32537c" - integrity sha512-DOwKNuK4ScK+NXOU+kxMqVbOK9vCIj9TSOX7iBA34CHzIdnjDWK3ne1Iw74ltat2VX1PEyVQKzC74ZxoInV9bw== +"@volar/vue-typescript@1.4.4": + version "1.4.4" + resolved "https://registry.yarnpkg.com/@volar/vue-typescript/-/vue-typescript-1.4.4.tgz#6c4a86010fc94965cce554ea1424bc8878ba216c" + integrity sha512-L61Fk15jlJw3QtIddD4cVE5jei5i6zbLJRiaEMYDDnUKB259/qUrdvnMfnZUFVyDwlevzdstjtaUyreeG/0nPQ== dependencies: - "@volar/typescript" "1.4.0" - "@volar/vue-language-core" "1.4.0" + "@volar/typescript" "1.4.1" + "@volar/vue-language-core" "1.4.4" "@vue/compiler-core@3.2.47": version "3.2.47" @@ -638,10 +643,10 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.47.tgz#e597ef75086c6e896ff5478a6bfc0a7aa4bbd14c" integrity sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ== -"@vue/tsconfig@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@vue/tsconfig/-/tsconfig-0.1.3.tgz#4a61dbd29783d01ddab504276dcf0c2b6988654f" - integrity sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg== +"@vue/tsconfig@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@vue/tsconfig/-/tsconfig-0.3.2.tgz#612ba0b6aefde5ac1a513545eee7d4ed01c407f5" + integrity sha512-jWzZbGyrZAEbHYGn0kPzJ+MMtIkIxb0+hL5+RghBowyOxMRs9jMdp5XvpXz3wgCzjRZiUucy29042HBe9cxoYA== acorn-jsx@^5.2.0, acorn-jsx@^5.3.2: version "5.3.2" @@ -1035,6 +1040,14 @@ eslint-scope@^7.1.1: esrecurse "^4.3.0" estraverse "^5.2.0" +eslint-scope@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" @@ -1069,15 +1082,15 @@ eslint-visitor-keys@^3.4.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== -eslint@^8.38.0: - version "8.38.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.38.0.tgz#a62c6f36e548a5574dd35728ac3c6209bd1e2f1a" - integrity sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg== +eslint@^8.39.0: + version "8.39.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.39.0.tgz#7fd20a295ef92d43809e914b70c39fd5a23cf3f1" + integrity sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.4.0" "@eslint/eslintrc" "^2.0.2" - "@eslint/js" "8.38.0" + "@eslint/js" "8.39.0" "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -1087,7 +1100,7 @@ eslint@^8.38.0: debug "^4.3.2" doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" + eslint-scope "^7.2.0" eslint-visitor-keys "^3.4.0" espree "^9.5.1" esquery "^1.4.2" @@ -2441,13 +2454,13 @@ vue-template-compiler@^2.7.14: de-indent "^1.0.2" he "^1.2.0" -vue-tsc@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.4.0.tgz#5553509750e73b81a2402b41384016ad86b097c2" - integrity sha512-zASWNqFTIHaY6K8ua0ifFpiX7lA4pz8zKkevLAVYyzBQu6Jc63xWdY3eH0qCUJm7L4K4h9nzbwysta89sfq7ZQ== +vue-tsc@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.4.4.tgz#bf487be671220ed47de62cf47092b622432e1599" + integrity sha512-2XsCjF2mLo6gwOVcOpngwJkP8GzYQjNh20A+Pr2FGdsWzr9jjXJ0k08/DfcslfncsuCrTrnWtb4KEL3gcDtlNA== dependencies: - "@volar/vue-language-core" "1.4.0" - "@volar/vue-typescript" "1.4.0" + "@volar/vue-language-core" "1.4.4" + "@volar/vue-typescript" "1.4.4" semver "^7.3.8" vue@^3.2.47: From b2c249a711b16ffb44fa08b39617ec99c9d81c02 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 24 Apr 2023 20:31:24 +0200 Subject: [PATCH 13/14] webapp: Enable stricter error reporting --- webapp/src/views/InverterAdminView.vue | 8 ++++---- webapp/tsconfig.json | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/webapp/src/views/InverterAdminView.vue b/webapp/src/views/InverterAdminView.vue index 558e5ddd..eb692ba1 100644 --- a/webapp/src/views/InverterAdminView.vue +++ b/webapp/src/views/InverterAdminView.vue @@ -104,7 +104,7 @@ -
+
@@ -128,7 +128,7 @@
Wp* @@ -143,7 +143,7 @@
kWh diff --git a/webapp/tsconfig.json b/webapp/tsconfig.json index 5168db6e..45b15b49 100644 --- a/webapp/tsconfig.json +++ b/webapp/tsconfig.json @@ -8,6 +8,12 @@ }, "lib": ["ES2021", "DOM"], "moduleResolution": "Node", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true }, "references": [ From 8a85aea543bafd43b3108220c737c02c48f29bb3 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 24 Apr 2023 20:33:24 +0200 Subject: [PATCH 14/14] webapp: add app.js.gz --- webapp_dist/js/app.js.gz | Bin 153814 -> 153817 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/webapp_dist/js/app.js.gz b/webapp_dist/js/app.js.gz index cd2e8a78027f6670f4b937e5c73987d7cffe80ac..e73926e60b6c725ab6272a631cbdc915b9919580 100644 GIT binary patch delta 147528 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 ^v#Qai|W1hs?u0T(kSDVF<)nV8R5Ud4}G)|FA6z z{?v9d{^nRF=D@K=wLHi5s)?!d>4rW+6d>q}2#|9IX7l<{taCc?0jK(SDn1C+3r=m& zRs14UPh>MVtQ9};mh7cdTYRVk2}0xag4RCOQo>=hma?WY{bh^1sejy5d2mn!nH>=c zJZuFRhj@ZEJt7B9LBZq=>oY)|O{yJBFxGA;wI@V^oOYC*4Rl(5BquajJ8JmVq zm9|q*+js(#x2-c;7&o;Pqb(wNj7b-~t815BD8s%8VU(G@9xWyLsV>j-QC-sMct%7@ zl&)5>k5Y-#&5UQiNPpif*;gggm}+?Bb!Rrp@fm{ z%0^)W$+flAB~ytkY)XfHh&^I3`7Hma=^xfJ9X66uga67{2!ElvG<;W4vcV8PSb~Ti z9hpSWK2a5wr6Y;TvPBcotEE(2j-iU^-I7Hv%Thm0SwsF%LPP)H%iOEBp`y50>$Oet zl;t|jQvuYAiAFQX1uQSH0Var^7{ zCDi_X30riJgkJ{vP|TqkUFoJMzibaeC%$$1U}!DA*mQE}I}#M@AC7`gtqkHvcwc7a z=GG>JPG}^gPaDr)x!fM*P@6zcLbrJ2{ZWuA$JtnIhl>m8nFFPk$6+%t zD<%EbG|aTO-EqqnEaK!T`mB-9k}`(aJqn6~O@DCtEjBw|Y=c7uRjQ#k=sa1a9QhC7 zxjH(*K8QN$V1I~PDmonZ3-Xk2Scw?036@jCdB(caa;ud(cXXST`c~s~k<1vwbmOKp z{j`Pp)CKGu(0UAG(+6m_#Xuc$_R4vzl>gt`tD~Qo$Eh7%+wh!7`cqL4WsR}Mf?#yf zz<=n%cN_UO$Y_Uz{c$P$A=|sp8(Pul^A>A--nX>lm{~7ds2Ua0GI33EPXgn9V`06D zT2~n$w3NAn!`o?P@J&%5abew}M|U?}T@~_%8L}-q75#fonGK)Q!4b&&sHM8gbK9c2Tx2_?Wdz zS$49y=7Weus)=I{fjI|xYTlE*XlLKd(VVwJcf{rlEXM5KuK0d5PEn_v@9{h@iGME{ zz?eK7s`Ju|anDvPjW=5xkEOf42gxzSCyMGc}XIkot z5DvekOn)9Z_FJ+epP0SM0}MX%5U*a^vmg zCyN#CCBla{K?llDhW!#xsek1MIm+{R1Jy&fY^>dJZ%`>GzFZsP49IAC;598|x$z`( zKF36if_;ydqeV7}F3UT2)W}Uzl&g{Oo+VQAI?ZyLX)0RAUY{H z#*sim!_-)f2kVe*E@76HT2vY_6F4ST{2<6&q&`q!A6TwL?a_5(O9_o(u|05Hvo_)R;>(ryIU$X2jj6!kQZkOe{pBg3(%H17WQX8@Tg6 zY$XbRPRtDLB;joxg}Q*dkMG34@Z>LX0Vha0^MVBtyOG8ZPTrI)n|GTXMD>TK(}JtWmLU+{4sE?1E}DQIyU zMPWK8)BN24mU-i@{iYDb-Ohp+$za*Crv_W*uGQuvTgKqd^TprLaQ%eXD?L7bJm&&!KDWQj=qrX+-T zo-iG^cJ~HTW6{Qi91+1MQBh%XyYbo2!{|BH`rHe%0Dl_36=LBj;t)IqINA?$8{?ok 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 r0p#ii%K!!n`OZd#H8_`Cnr}DNX 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

>jhL59I4VcNA}9*w1H){1c-#hw5!jl|W+(PZ2X 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

vH}nY`_sf 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