From 943dfc2dbf070523bda3257e39feac68dbd0447b Mon Sep 17 00:00:00 2001 From: Stefan Oberhumer Date: Fri, 6 Oct 2023 10:20:36 +0200 Subject: [PATCH 01/26] Compute sunrise and sunset only if necessary. Sunrise and -set must recomputed if one of the following conditions is met: * The date changed (based on the selected timezone) * Location (Lat/Lon) changed * Sunset type changed So instead of calculating that every minute just do it on update via web interface or date change. If a new config is uploaded, the DTU gets restarted. There is no need to initiate a recalculation in this case. --- include/SunPosition.h | 10 ++++++-- src/SunPosition.cpp | 55 ++++++++++++++++++++++++++++++++++++------- src/WebApi_ntp.cpp | 4 +++- 3 files changed, 58 insertions(+), 11 deletions(-) diff --git a/include/SunPosition.h b/include/SunPosition.h index c268813c9..6d0be2d83 100644 --- a/include/SunPosition.h +++ b/include/SunPosition.h @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once +#include #include #define SUNPOS_UPDATE_INTERVAL 60000l @@ -15,9 +16,12 @@ class SunPositionClass { bool isSunsetAvailable(); bool sunsetTime(struct tm* info); bool sunriseTime(struct tm* info); + void setDoRecalc(bool doRecalc); private: void updateSunData(); + bool checkRecalcDayChanged(); + bool getDoRecalc(); SunSet _sun; bool _isDayPeriod = true; @@ -25,8 +29,10 @@ class SunPositionClass { uint32_t _sunriseMinutes = 0; uint32_t _sunsetMinutes = 0; - uint32_t _lastUpdate = 0; bool _isValidInfo = false; + bool _doRecalc = true; + std::mutex _recalcLock; + uint32_t _lastSunPositionCalculatedYMD = 0; }; -extern SunPositionClass SunPosition; \ No newline at end of file +extern SunPositionClass SunPosition; diff --git a/src/SunPosition.cpp b/src/SunPosition.cpp index a32920ec1..a23bca24e 100644 --- a/src/SunPosition.cpp +++ b/src/SunPosition.cpp @@ -19,9 +19,8 @@ void SunPositionClass::init() void SunPositionClass::loop() { - if (millis() - _lastUpdate > SUNPOS_UPDATE_INTERVAL) { + if (getDoRecalc() || checkRecalcDayChanged()) { updateSunData(); - _lastUpdate = millis(); } } @@ -35,14 +34,50 @@ bool SunPositionClass::isSunsetAvailable() return _isSunsetAvailable; } -void SunPositionClass::updateSunData() +void SunPositionClass::setDoRecalc(bool doRecalc) { - CONFIG_T const& config = Configuration.get(); - int offset = Utils::getTimezoneOffset() / 3600; - _sun.setPosition(config.Ntp_Latitude, config.Ntp_Longitude, offset); + std::lock_guard lock(_recalcLock); + _doRecalc = doRecalc; +} + +bool SunPositionClass::getDoRecalc() +{ + std::lock_guard lock(_recalcLock); + return _doRecalc; +} + +bool SunPositionClass::checkRecalcDayChanged() +{ + time_t now; + struct tm timeinfo; + + time(&now); + localtime_r(&now, &timeinfo); // don't use getLocalTime() as there could be a delay of 10ms + + uint32_t ymd; + ymd = (timeinfo.tm_year << 9) | + (timeinfo.tm_mon << 5) | + timeinfo.tm_mday; + if (_lastSunPositionCalculatedYMD != ymd) { + return true; + } + return false; +} + + +void SunPositionClass::updateSunData() +{ struct tm timeinfo; - if (!getLocalTime(&timeinfo, 5)) { + bool gotLocalTime; + + gotLocalTime = getLocalTime(&timeinfo, 5); + _lastSunPositionCalculatedYMD = (timeinfo.tm_year << 9) | + (timeinfo.tm_mon << 5) | + timeinfo.tm_mday; + setDoRecalc(false); + + if (!gotLocalTime) { _isDayPeriod = true; _sunriseMinutes = 0; _sunsetMinutes = 0; @@ -50,6 +85,10 @@ void SunPositionClass::updateSunData() return; } + CONFIG_T const& config = Configuration.get(); + int offset = Utils::getTimezoneOffset() / 3600; + + _sun.setPosition(config.Ntp_Latitude, config.Ntp_Longitude, offset); _sun.setCurrentDate(1900 + timeinfo.tm_year, timeinfo.tm_mon + 1, timeinfo.tm_mday); double sunset_type; @@ -125,4 +164,4 @@ bool SunPositionClass::sunriseTime(struct tm* info) localtime_r(&midnight, info); return _isValidInfo; -} \ No newline at end of file +} diff --git a/src/WebApi_ntp.cpp b/src/WebApi_ntp.cpp index 52c665e2c..c0cfaa441 100644 --- a/src/WebApi_ntp.cpp +++ b/src/WebApi_ntp.cpp @@ -190,6 +190,8 @@ void WebApiNtpClass::onNtpAdminPost(AsyncWebServerRequest* request) NtpSettings.setServer(); NtpSettings.setTimezone(); + + SunPosition.setDoRecalc(true); } void WebApiNtpClass::onNtpTimeGet(AsyncWebServerRequest* request) @@ -350,4 +352,4 @@ void WebApiNtpClass::onNtpTimePost(AsyncWebServerRequest* request) response->setLength(); request->send(response); -} \ No newline at end of file +} From 7f99095fcaebcc31e815f6bb4078ff74eb39bf62 Mon Sep 17 00:00:00 2001 From: Stefan Oberhumer Date: Fri, 6 Oct 2023 11:13:09 +0200 Subject: [PATCH 02/26] Remove SUNPOS_UPDATE_INTERVAL define and introduce INVERTER_UPDATE_SETTINGS_INTERVAL. --- include/InverterSettings.h | 4 +++- include/SunPosition.h | 2 -- src/InverterSettings.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/InverterSettings.h b/include/InverterSettings.h index 188025b14..6375dfcfa 100644 --- a/include/InverterSettings.h +++ b/include/InverterSettings.h @@ -3,6 +3,8 @@ #include +#define INVERTER_UPDATE_SETTINGS_INTERVAL 60000l + class InverterSettingsClass { public: void init(); @@ -12,4 +14,4 @@ class InverterSettingsClass { uint32_t _lastUpdate = 0; }; -extern InverterSettingsClass InverterSettings; \ No newline at end of file +extern InverterSettingsClass InverterSettings; diff --git a/include/SunPosition.h b/include/SunPosition.h index 6d0be2d83..05e3b3969 100644 --- a/include/SunPosition.h +++ b/include/SunPosition.h @@ -4,8 +4,6 @@ #include #include -#define SUNPOS_UPDATE_INTERVAL 60000l - class SunPositionClass { public: SunPositionClass(); diff --git a/src/InverterSettings.cpp b/src/InverterSettings.cpp index 690f0aca7..c5050bffd 100644 --- a/src/InverterSettings.cpp +++ b/src/InverterSettings.cpp @@ -90,7 +90,7 @@ void InverterSettingsClass::init() void InverterSettingsClass::loop() { - if (millis() - _lastUpdate > SUNPOS_UPDATE_INTERVAL) { + if (millis() - _lastUpdate > INVERTER_UPDATE_SETTINGS_INTERVAL) { const CONFIG_T& config = Configuration.get(); for (uint8_t i = 0; i < INV_MAX_COUNT; i++) { @@ -109,4 +109,4 @@ void InverterSettingsClass::loop() } Hoymiles.loop(); -} \ No newline at end of file +} From be88da7b26eca04e9344e7a2094ea6ed88b686dc Mon Sep 17 00:00:00 2001 From: Stefan Oberhumer Date: Thu, 5 Oct 2023 21:19:17 +0200 Subject: [PATCH 03/26] NFC: Call PinMapping.get() not every iteration. --- src/Led_Single.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Led_Single.cpp b/src/Led_Single.cpp index 7ce6637f9..09658c85c 100644 --- a/src/Led_Single.cpp +++ b/src/Led_Single.cpp @@ -22,8 +22,8 @@ void LedSingleClass::init() _updateTimeout.set(LEDSINGLE_UPDATE_INTERVAL); turnAllOn(); + auto& pin = PinMapping.get(); for (uint8_t i = 0; i < PINMAPPING_LED_COUNT; i++) { - auto& pin = PinMapping.get(); if (pin.led[i] >= 0) { pinMode(pin.led[i], OUTPUT); @@ -74,8 +74,8 @@ void LedSingleClass::loop() _ledState[1] = LedState_t::Off; } + auto& pin = PinMapping.get(); for (uint8_t i = 0; i < PINMAPPING_LED_COUNT; i++) { - auto& pin = PinMapping.get(); if (pin.led[i] < 0) { continue; From dc5b5e837f85aa6a111e52e2917a01e1f71a605a Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Tue, 10 Oct 2023 16:23:11 +0200 Subject: [PATCH 04/26] Rename "DTU command failed" to "Time calibration" as mentioned in #121 --- lib/Hoymiles/src/parser/AlarmLogParser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Hoymiles/src/parser/AlarmLogParser.cpp b/lib/Hoymiles/src/parser/AlarmLogParser.cpp index 92e670e6a..16f2f73b3 100644 --- a/lib/Hoymiles/src/parser/AlarmLogParser.cpp +++ b/lib/Hoymiles/src/parser/AlarmLogParser.cpp @@ -8,7 +8,7 @@ const std::array AlarmLogParser::_alarmMessages = { { { AlarmMessageType_t::ALL, 1, "Inverter start" }, - { AlarmMessageType_t::ALL, 2, "DTU command failed" }, + { AlarmMessageType_t::ALL, 2, "Time calibration" }, { AlarmMessageType_t::ALL, 3, "EEPROM reading and writing error during operation" }, { AlarmMessageType_t::ALL, 4, "Offline" }, { AlarmMessageType_t::ALL, 11, "Grid voltage surge" }, From f1a8c2ea8211531681cac7b16c3cb5aae1ae795e Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 11 Oct 2023 13:22:42 +0200 Subject: [PATCH 05/26] Feature: Added additional event log descriptions and implemented i18n --- lib/Hoymiles/src/parser/AlarmLogParser.cpp | 302 +++++++++++++-------- lib/Hoymiles/src/parser/AlarmLogParser.h | 15 +- src/WebApi_eventlog.cpp | 14 +- webapp/src/views/HomeView.vue | 2 +- 4 files changed, 213 insertions(+), 120 deletions(-) diff --git a/lib/Hoymiles/src/parser/AlarmLogParser.cpp b/lib/Hoymiles/src/parser/AlarmLogParser.cpp index 16f2f73b3..fe2d2bab4 100644 --- a/lib/Hoymiles/src/parser/AlarmLogParser.cpp +++ b/lib/Hoymiles/src/parser/AlarmLogParser.cpp @@ -7,117 +7,166 @@ #include const std::array AlarmLogParser::_alarmMessages = { { - { AlarmMessageType_t::ALL, 1, "Inverter start" }, - { AlarmMessageType_t::ALL, 2, "Time calibration" }, - { AlarmMessageType_t::ALL, 3, "EEPROM reading and writing error during operation" }, - { AlarmMessageType_t::ALL, 4, "Offline" }, - { 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, 36, "INV overvoltage or overcurrent" }, - { AlarmMessageType_t::ALL, 46, "FB overvoltage" }, - { AlarmMessageType_t::ALL, 47, "FB overcurrent" }, - { AlarmMessageType_t::ALL, 48, "FB clamp overvoltage" }, - { AlarmMessageType_t::ALL, 49, "FB clamp overvoltage" }, - { AlarmMessageType_t::ALL, 61, "Calibration parameter error" }, - { AlarmMessageType_t::ALL, 62, "System configuration parameter error" }, - { AlarmMessageType_t::ALL, 63, "Abnormal power generation data" }, - { AlarmMessageType_t::ALL, 71, "VW function enable" }, - { AlarmMessageType_t::ALL, 72, "FW function enable" }, - { AlarmMessageType_t::ALL, 73, "TW function enable" }, - { AlarmMessageType_t::ALL, 95, "PV module in suspected shadow" }, - { AlarmMessageType_t::ALL, 96, "PV module in suspected shadow" }, - { AlarmMessageType_t::ALL, 97, "PV module in suspected shadow" }, - { AlarmMessageType_t::ALL, 98, "PV module in suspected shadow" }, - { AlarmMessageType_t::ALL, 121, "Over temperature protection" }, - { AlarmMessageType_t::ALL, 122, "Microinverter is suspected of being stolen" }, - { AlarmMessageType_t::ALL, 123, "Locked by remote control" }, - { AlarmMessageType_t::ALL, 124, "Shut down by remote control" }, - { AlarmMessageType_t::ALL, 125, "Grid configuration parameter error" }, - { AlarmMessageType_t::ALL, 126, "Software error code 126" }, - { AlarmMessageType_t::ALL, 127, "Firmware error" }, - { AlarmMessageType_t::ALL, 128, "Software error code 128" }, - { AlarmMessageType_t::ALL, 129, "Abnormal bias" }, - { AlarmMessageType_t::ALL, 130, "Offline" }, - { AlarmMessageType_t::ALL, 141, "Grid: Grid overvoltage" }, - { AlarmMessageType_t::ALL, 142, "Grid: 10 min value grid overvoltage" }, - { AlarmMessageType_t::ALL, 143, "Grid: Grid undervoltage" }, - { AlarmMessageType_t::ALL, 144, "Grid: Grid overfrequency" }, - { AlarmMessageType_t::ALL, 145, "Grid: Grid underfrequency" }, - { AlarmMessageType_t::ALL, 146, "Grid: Rapid grid frequency change rate" }, - { AlarmMessageType_t::ALL, 147, "Grid: Power grid outage" }, - { AlarmMessageType_t::ALL, 148, "Grid: Grid disconnection" }, - { AlarmMessageType_t::ALL, 149, "Grid: Island detected" }, - { AlarmMessageType_t::ALL, 150, "DCI exceeded" }, - { AlarmMessageType_t::HMT, 171, "Grid: Abnormal phase difference between phase to phase" }, - { AlarmMessageType_t::ALL, 181, "Abnormal insulation impedance" }, - { AlarmMessageType_t::ALL, 182, "Abnormal grounding" }, - { AlarmMessageType_t::ALL, 205, "MPPT-A: Input overvoltage" }, - { AlarmMessageType_t::ALL, 206, "MPPT-B: Input overvoltage" }, - { AlarmMessageType_t::ALL, 207, "MPPT-A: Input undervoltage" }, - { AlarmMessageType_t::ALL, 208, "MPPT-B: Input undervoltage" }, - { AlarmMessageType_t::ALL, 209, "PV-1: No input" }, - { AlarmMessageType_t::ALL, 210, "PV-2: No input" }, - { AlarmMessageType_t::ALL, 211, "PV-3: No input" }, - { AlarmMessageType_t::ALL, 212, "PV-4: No input" }, - { AlarmMessageType_t::ALL, 213, "MPPT-A: PV-1 & PV-2 abnormal wiring" }, - { AlarmMessageType_t::ALL, 214, "MPPT-B: PV-3 & PV-4 abnormal wiring" }, - { AlarmMessageType_t::ALL, 215, "PV-1: Input overvoltage" }, - { AlarmMessageType_t::HMT, 215, "MPPT-C: Input overvoltage" }, - { AlarmMessageType_t::ALL, 216, "PV-1: Input undervoltage" }, - { AlarmMessageType_t::HMT, 216, "MPPT-C: Input undervoltage" }, - { AlarmMessageType_t::ALL, 217, "PV-2: Input overvoltage" }, - { AlarmMessageType_t::HMT, 217, "PV-5: No input" }, - { AlarmMessageType_t::ALL, 218, "PV-2: Input undervoltage" }, - { AlarmMessageType_t::HMT, 218, "PV-6: No input" }, - { AlarmMessageType_t::ALL, 219, "PV-3: Input overvoltage" }, - { AlarmMessageType_t::HMT, 219, "MPPT-C: PV-5 & PV-6 abnormal wiring" }, - { AlarmMessageType_t::ALL, 220, "PV-3: Input undervoltage" }, - { AlarmMessageType_t::ALL, 221, "PV-4: Input overvoltage" }, - { AlarmMessageType_t::HMT, 221, "Abnormal wiring of grid neutral line" }, - { AlarmMessageType_t::ALL, 222, "PV-4: Input undervoltage" }, - { AlarmMessageType_t::ALL, 301, "Hardware error code 301 - FB short circuit failure" }, - { AlarmMessageType_t::ALL, 302, "Hardware error code 302 - FB short circuit failure" }, - { AlarmMessageType_t::ALL, 303, "Hardware error code 303 - FB overcurrent protection failure" }, - { AlarmMessageType_t::ALL, 304, "Hardware error code 304 - FB overcurrent protection failure" }, - { AlarmMessageType_t::ALL, 305, "Hardware error code 305 - FB clamp circuit failure" }, - { AlarmMessageType_t::ALL, 306, "Hardware error code 306 - FB clamp circuit failure" }, - { AlarmMessageType_t::ALL, 307, "Hardware error code 307 - INV power device failure" }, - { AlarmMessageType_t::ALL, 308, "Hardware error code 308 - INV overcurrent or overvoltage protection failure" }, - { AlarmMessageType_t::ALL, 309, "Hardware error code 309" }, - { AlarmMessageType_t::ALL, 310, "Hardware error code 310" }, - { AlarmMessageType_t::ALL, 311, "Hardware error code 311" }, - { AlarmMessageType_t::ALL, 312, "Hardware error code 312" }, - { AlarmMessageType_t::ALL, 313, "Hardware error code 313" }, - { AlarmMessageType_t::ALL, 314, "Hardware error code 314" }, - { AlarmMessageType_t::ALL, 1111, "Repeater" }, - { AlarmMessageType_t::ALL, 5041, "Error code-04 Port 1" }, - { AlarmMessageType_t::ALL, 5042, "Error code-04 Port 2" }, - { AlarmMessageType_t::ALL, 5043, "Error code-04 Port 3" }, - { AlarmMessageType_t::ALL, 5044, "Error code-04 Port 4" }, - { AlarmMessageType_t::ALL, 5051, "PV Input 1 Overvoltage/Undervoltage" }, - { AlarmMessageType_t::ALL, 5052, "PV Input 2 Overvoltage/Undervoltage" }, - { AlarmMessageType_t::ALL, 5053, "PV Input 3 Overvoltage/Undervoltage" }, - { AlarmMessageType_t::ALL, 5054, "PV Input 4 Overvoltage/Undervoltage" }, - { AlarmMessageType_t::ALL, 5060, "Abnormal bias" }, - { AlarmMessageType_t::ALL, 5070, "Over temperature protection" }, - { AlarmMessageType_t::ALL, 5080, "Grid Overvoltage/Undervoltage" }, - { AlarmMessageType_t::ALL, 5090, "Grid Overfrequency/Underfrequency" }, - { AlarmMessageType_t::ALL, 5100, "Island detected" }, - { AlarmMessageType_t::ALL, 5110, "GFDI" }, - { AlarmMessageType_t::ALL, 5120, "EEPROM reading and writing error" }, - { AlarmMessageType_t::ALL, 5141, "FB clamp overvoltage" }, - { AlarmMessageType_t::ALL, 5142, "FB clamp overvoltage" }, - { AlarmMessageType_t::ALL, 5143, "FB clamp overvoltage" }, - { AlarmMessageType_t::ALL, 5144, "FB clamp overvoltage" }, - { AlarmMessageType_t::ALL, 5150, "10 min value grid overvoltage" }, - { AlarmMessageType_t::ALL, 5160, "Grid transient fluctuation" }, - { AlarmMessageType_t::ALL, 5200, "Firmware error" }, - { AlarmMessageType_t::ALL, 8310, "Shut down by remote control" }, - { AlarmMessageType_t::ALL, 8320, "Locked by remote control" }, - { AlarmMessageType_t::ALL, 9000, "Microinverter is suspected of being stolen" }, + { AlarmMessageType_t::ALL, 1, "Inverter start", "Wechselrichter gestartet", "L'onduleur a démarré" }, + { AlarmMessageType_t::ALL, 2, "Time calibration", "", "" }, + { 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, 36, "INV overvoltage or overcurrent", "", "" }, + + { AlarmMessageType_t::ALL, 46, "FB overvoltage", "FB Überspannung", "" }, + { AlarmMessageType_t::ALL, 47, "FB overcurrent", "FB Überstrom", "" }, + { AlarmMessageType_t::ALL, 48, "FB clamp overvoltage", "", "" }, + { AlarmMessageType_t::ALL, 49, "FB clamp overvoltage", "", "" }, + + { AlarmMessageType_t::ALL, 61, "Calibration parameter error", "", "" }, + { AlarmMessageType_t::ALL, 62, "System configuration parameter error", "", "" }, + { AlarmMessageType_t::ALL, 63, "Abnormal power generation data", "", "" }, + + { AlarmMessageType_t::ALL, 71, "Grid overvoltage load reduction (VW) function enable", "", "" }, + { AlarmMessageType_t::ALL, 72, "Power grid over-frequency load reduction (FW) function enable", "", "" }, + { AlarmMessageType_t::ALL, 73, "Over-temperature load reduction (TW) function enable", "", "" }, + + { AlarmMessageType_t::ALL, 95, "PV-1: Module in suspected shadow", "", "" }, + { AlarmMessageType_t::ALL, 96, "PV-2: Module in suspected shadow", "", "" }, + { AlarmMessageType_t::ALL, 97, "PV-3: Module in suspected shadow", "", "" }, + { AlarmMessageType_t::ALL, 98, "PV-4: Module in suspected shadow", "", "" }, + + { AlarmMessageType_t::ALL, 121, "Over temperature protection", "Übertemperaturschutz", "Protection antisurchauffe" }, + { AlarmMessageType_t::ALL, 122, "Microinverter is suspected of being stolen", "", "" }, + { AlarmMessageType_t::ALL, 123, "Locked by remote control", "", "" }, + { AlarmMessageType_t::ALL, 124, "Shut down by remote control", "Durch Fernsteuerung abgeschaltet", "Arrêt par télécommande" }, + { AlarmMessageType_t::ALL, 125, "Grid configuration parameter error", "Parameterfehler bei der Konfiguration des Elektrizitätsnetzes", "Erreur de paramètre de configuration du réseau" }, + { AlarmMessageType_t::ALL, 126, "Software error code 126", "", "" }, + { AlarmMessageType_t::ALL, 127, "Firmware error", "Firmwarefehler", "Erreur du micrologiciel" }, + { AlarmMessageType_t::ALL, 128, "Hardware configuration error", "", "" }, + { AlarmMessageType_t::ALL, 129, "Abnormal bias", "Abnormaler Trend", "Polarisation anormale" }, + { AlarmMessageType_t::ALL, 130, "Offline", "Offline", "Non connecté" }, + + { AlarmMessageType_t::ALL, 141, "Grid: Grid overvoltage", "Netz: Netzüberspannung", "Réseau: Surtension du réseau" }, + { AlarmMessageType_t::ALL, 142, "Grid: 10 min value grid overvoltage", "Netz: 10 Minuten-Mittelwert der Netzüberspannung", "Réseau: Valeur de surtension du réseau pendant 10 min" }, + { AlarmMessageType_t::ALL, 143, "Grid: Grid undervoltage", "Netz: Netzunterspannung", "Réseau: Sous-tension du réseau" }, + { AlarmMessageType_t::ALL, 144, "Grid: Grid overfrequency", "Netz: Netzüberfrequenz", "Réseau: Surfréquence du réseau" }, + { AlarmMessageType_t::ALL, 145, "Grid: Grid underfrequency", "Netz: Netzunterfrequenz", "Réseau: Sous-fréquence du réseau" }, + { AlarmMessageType_t::ALL, 146, "Grid: Rapid grid frequency change rate", "Netz: Schnelle Wechselrate der Netzfrequenz", "Réseau: Taux de fluctuation rapide de la fréquence du réseau" }, + { AlarmMessageType_t::ALL, 147, "Grid: Power grid outage", "Netz: Eletrizitätsnetzausfall", "Réseau: Panne du réseau électrique" }, + { AlarmMessageType_t::ALL, 148, "Grid: Grid disconnection", "Netz: Netztrennung", "Réseau: Déconnexion du réseau" }, + { AlarmMessageType_t::ALL, 149, "Grid: Island detected", "Netz: Inselbetrieb festgestellt", "Réseau: Détection d’îlots" }, + + { AlarmMessageType_t::ALL, 150, "DCI exceeded", "", "" }, + { AlarmMessageType_t::HMT, 171, "Grid: Abnormal phase difference between phase to phase", "", "" }, + { AlarmMessageType_t::ALL, 181, "Abnormal insulation impedance", "", "" }, + { AlarmMessageType_t::ALL, 182, "Abnormal grounding", "", "" }, + + { AlarmMessageType_t::ALL, 205, "MPPT-A: Input overvoltage", "MPPT-A: Eingangsüberspannung", "MPPT-A: Surtension d’entrée" }, + { AlarmMessageType_t::ALL, 206, "MPPT-B: Input overvoltage", "MPPT-B: Eingangsüberspannung", "MPPT-B: Surtension d’entrée" }, + { AlarmMessageType_t::ALL, 207, "MPPT-A: Input undervoltage", "MPPT-A: Eingangsunterspannung", "MPPT-A: Sous-tension d’entrée" }, + { AlarmMessageType_t::ALL, 208, "MPPT-B: Input undervoltage", "MPPT-B: Eingangsunterspannung", "MPPT-B: Sous-tension d’entrée" }, + + { AlarmMessageType_t::ALL, 209, "PV-1: No input", "PV-1: Kein Eingang", "PV-1: Aucune entrée" }, + { AlarmMessageType_t::ALL, 210, "PV-2: No input", "PV-2: Kein Eingang", "PV-2: Aucune entrée" }, + { AlarmMessageType_t::ALL, 211, "PV-3: No input", "PV-3: Kein Eingang", "PV-3: Aucune entrée" }, + { AlarmMessageType_t::ALL, 212, "PV-4: No input", "PV-4: Kein Eingang", "PV-4: Aucune entrée" }, + + { AlarmMessageType_t::ALL, 213, "MPPT-A: PV-1 & PV-2 abnormal wiring", "MPPT-A: Verdrahtungsfehler bei PV-1 und PV-2", "MPPT-A: Câblages photovoltaïques 1 et 2 anormaux" }, + { AlarmMessageType_t::ALL, 214, "MPPT-B: PV-3 & PV-4 abnormal wiring", "MPPT-B: Verdrahtungsfehler bei PV-3 und PV-4", "MPPT-B: Câblages photovoltaïques 3 et 4 anormaux" }, + + { AlarmMessageType_t::ALL, 215, "PV-1: Input overvoltage", "PV-1: Eingangsüberspannung", "PV-1: Surtension d’entrée" }, + { AlarmMessageType_t::HMT, 215, "MPPT-C: Input overvoltage", "MPPT-C: Eingangsüberspannung", "MPPT-C: Surtension d’entrée" }, + { AlarmMessageType_t::ALL, 216, "PV-1: Input undervoltage", "PV-1: Eingangsunterspannung", "PV-1: Sous-tension d’entrée" }, + { AlarmMessageType_t::HMT, 216, "MPPT-C: Input undervoltage", "MPPT-C: Eingangsunterspannung", "MPPT-C: Sous-tension d’entrée" }, + { AlarmMessageType_t::ALL, 217, "PV-2: Input overvoltage", "PV-2: Eingangsüberspannung", "PV-2: Surtension d’entrée" }, + { AlarmMessageType_t::HMT, 217, "PV-5: No input", "PV-5: Kein Eingang", "PV-5: Aucune entrée" }, + { AlarmMessageType_t::ALL, 218, "PV-2: Input undervoltage", "PV-2: Eingangsunterspannung", "PV-2: Sous-tension d’entrée" }, + { AlarmMessageType_t::HMT, 218, "PV-6: No input", "PV-6: Kein Eingang", "PV-6: Aucune entrée" }, + { AlarmMessageType_t::ALL, 219, "PV-3: Input overvoltage", "PV-3: Eingangsüberspannung", "PV-3: Surtension d’entrée" }, + { AlarmMessageType_t::HMT, 219, "MPPT-C: PV-5 & PV-6 abnormal wiring", "", "" }, + { AlarmMessageType_t::ALL, 220, "PV-3: Input undervoltage", "PV-3: Eingangsunterspannung", "PV-3: Sous-tension d’entrée" }, + { AlarmMessageType_t::ALL, 221, "PV-4: Input overvoltage", "PV-4: Eingangsüberspannung", "PV-4: Surtension d’entrée" }, + { AlarmMessageType_t::HMT, 221, "Abnormal wiring of grid neutral line", "", "" }, + { AlarmMessageType_t::ALL, 222, "PV-4: Input undervoltage", "PV-4: Eingangsunterspannung", "PV-4: Sous-tension d’entrée" }, + + { AlarmMessageType_t::ALL, 301, "FB-A: internal short circuit failure", "", "" }, + { AlarmMessageType_t::ALL, 302, "FB-B: internal short circuit failure", "", "" }, + + { AlarmMessageType_t::ALL, 303, "FB-A: overcurrent protection failure", "", "" }, + { AlarmMessageType_t::ALL, 304, "FB-B: overcurrent protection failure", "", "" }, + + { AlarmMessageType_t::ALL, 305, "FB-A: clamp circuit failure", "", "" }, + { AlarmMessageType_t::ALL, 306, "FB-B: clamp circuit failure", "", "" }, + + { AlarmMessageType_t::ALL, 307, "INV power device failure", "", "" }, + { AlarmMessageType_t::ALL, 308, "INV overcurrent or overvoltage protection failure", "", "" }, + + { AlarmMessageType_t::ALL, 309, "Hardware error code 309", "Hardwarefehlercode 309", "" }, + { AlarmMessageType_t::ALL, 310, "Hardware error code 310", "Hardwarefehlercode 310", "" }, + { AlarmMessageType_t::ALL, 311, "Hardware error code 311", "Hardwarefehlercode 311", "" }, + { AlarmMessageType_t::ALL, 312, "Hardware error code 312", "Hardwarefehlercode 312", "" }, + { AlarmMessageType_t::ALL, 313, "Hardware error code 313", "Hardwarefehlercode 313", "" }, + { AlarmMessageType_t::ALL, 314, "Hardware error code 314", "Hardwarefehlercode 314", "" }, + + { AlarmMessageType_t::ALL, 1111, "Repeater", "", "" }, + + { AlarmMessageType_t::ALL, 2000, "Standby", "", "" }, + { AlarmMessageType_t::ALL, 2001, "Standby", "", "" }, + { AlarmMessageType_t::ALL, 2002, "Standby", "", "" }, + { AlarmMessageType_t::ALL, 2003, "Standby", "", "" }, + { AlarmMessageType_t::ALL, 2004, "Standby", "", "" }, + + { AlarmMessageType_t::ALL, 3001, "Reset", "", "" }, + { AlarmMessageType_t::ALL, 3002, "Reset", "", "" }, + { AlarmMessageType_t::ALL, 3003, "Reset", "", "" }, + { AlarmMessageType_t::ALL, 3004, "Reset", "", "" }, + + { AlarmMessageType_t::ALL, 5011, "PV-1: MOSFET overcurrent (II)", "PV-1: MOSFET Überstrom (II)", "" }, + { AlarmMessageType_t::ALL, 5012, "PV-2: MOSFET overcurrent (II)", "PV-2: MOSFET Überstrom (II)", "" }, + { AlarmMessageType_t::ALL, 5013, "PV-3: MOSFET overcurrent (II)", "PV-3: MOSFET Überstrom (II)", "" }, + { AlarmMessageType_t::ALL, 5014, "PV-4: MOSFET overcurrent (II)", "PV-4: MOSFET Überstrom (II)", "" }, + { AlarmMessageType_t::ALL, 5020, "H-bridge MOSFET overcurrent or H-bridge overvoltage", "H-Brücken-MOSFET-Überstrom oder H-Brücken-Überspannung", "" }, + + { AlarmMessageType_t::ALL, 5041, "PV-1: current overcurrent (II)", "", "" }, + { AlarmMessageType_t::ALL, 5042, "PV-2: current overcurrent (II)", "", "" }, + { AlarmMessageType_t::ALL, 5043, "PV-3: current overcurrent (II)", "", "" }, + { AlarmMessageType_t::ALL, 5044, "PV-4: current overcurrent (II)", "", "" }, + + { AlarmMessageType_t::ALL, 5051, "PV-1: Overvoltage/Undervoltage", "", "" }, + { AlarmMessageType_t::ALL, 5052, "PV-2: Overvoltage/Undervoltage", "", "" }, + { AlarmMessageType_t::ALL, 5053, "PV-3: Overvoltage/Undervoltage", "", "" }, + { AlarmMessageType_t::ALL, 5054, "PV-4: Overvoltage/Undervoltage", "", "" }, + + { AlarmMessageType_t::ALL, 5060, "Abnormal bias", "Abnormaler Trend", "Polarisation anormale" }, + { AlarmMessageType_t::ALL, 5070, "Over temperature protection", "Übertemperaturschutz", "Protection antisurchauffe" }, + { AlarmMessageType_t::ALL, 5080, "Grid Overvoltage/Undervoltage", "", "" }, + { AlarmMessageType_t::ALL, 5090, "Grid Overfrequency/Underfrequency", "", "" }, + { AlarmMessageType_t::ALL, 5100, "Island detected", "Inselbetrieb festgestellt", "Détection d’îlots" }, + { AlarmMessageType_t::ALL, 5110, "GFDI failure", "", "" }, + { AlarmMessageType_t::ALL, 5120, "EEPROM reading and writing error", "", "" }, + + { AlarmMessageType_t::ALL, 5141, "FB clamp overvoltage", "", "" }, + { AlarmMessageType_t::ALL, 5142, "FB clamp overvoltage", "", "" }, + { AlarmMessageType_t::ALL, 5143, "FB clamp overvoltage", "", "" }, + { AlarmMessageType_t::ALL, 5144, "FB clamp overvoltage", "", "" }, + + { AlarmMessageType_t::ALL, 5150, "10 min value grid overvoltage", "10 Minuten-Mittelwert der Netzüberspannung", "Valeur de surtension du réseau pendant 10 min" }, + { AlarmMessageType_t::ALL, 5160, "Grid transient fluctuation", "", "" }, + + { AlarmMessageType_t::ALL, 5200, "Firmware error", "Firmwarefehler", "Erreur du micrologiciel" }, + + { AlarmMessageType_t::ALL, 5511, "PV-1: MOSFET overcurrent-H", "PV-1: MOSFET Überstrom-H", "" }, + { AlarmMessageType_t::ALL, 5512, "PV-2: MOSFET overcurrent-H", "PV-2: MOSFET Überstrom-H", "" }, + { AlarmMessageType_t::ALL, 5513, "PV-3: MOSFET overcurrent-H", "PV-3: MOSFET Überstrom-H", "" }, + { AlarmMessageType_t::ALL, 5514, "PV-4: MOSFET overcurrent-H", "PV-4: MOSFET Überstrom-H", "" }, + { AlarmMessageType_t::ALL, 5520, "H-bridge MOSFET overcurrent or H-bridge overvoltage", "H-Brücken-MOSFET-Überstrom oder H-Brücken-Überspannung", "" }, + + { AlarmMessageType_t::ALL, 8310, "Shut down by remote control", "Durch Fernsteuerung abgeschaltet", "Arrêt par télécommande" }, + { AlarmMessageType_t::ALL, 8320, "Locked by remote control", "", "" }, + { AlarmMessageType_t::ALL, 9000, "Microinverter is suspected of being stolen", "", "" }, } }; AlarmLogParser::AlarmLogParser() @@ -165,7 +214,7 @@ void AlarmLogParser::setMessageType(AlarmMessageType_t type) _messageType = type; } -void AlarmLogParser::getLogEntry(uint8_t entryId, AlarmLogEntry_t* entry) +void AlarmLogParser::getLogEntry(uint8_t entryId, AlarmLogEntry_t* entry, AlarmMessageLocale_t locale) { uint8_t entryStartOffset = 2 + entryId * ALARM_LOG_ENTRY_SIZE; @@ -194,19 +243,42 @@ void AlarmLogParser::getLogEntry(uint8_t entryId, AlarmLogEntry_t* entry) entry->EndTime += (endTimeOffset + timezoneOffset); } - entry->Message = "Unknown"; + switch (locale) { + case AlarmMessageLocale_t::DE: + entry->Message = "Unbekannt"; + break; + case AlarmMessageLocale_t::FR: + entry->Message = "Inconnu"; + break; + default: + entry->Message = "Unknown"; + } + for (auto& msg : _alarmMessages) { if (msg.MessageId == entry->MessageId) { if (msg.InverterType == _messageType) { - entry->Message = msg.Message; + entry->Message = getLocaleMessage(&msg, locale); break; } else if (msg.InverterType == AlarmMessageType_t::ALL) { - entry->Message = msg.Message; + entry->Message = getLocaleMessage(&msg, locale); } } } } +String AlarmLogParser::getLocaleMessage(const AlarmMessage_t* msg, AlarmMessageLocale_t locale) +{ + if (locale == AlarmMessageLocale_t::DE) { + return msg->Message_de[0] != '\0' ? msg->Message_de : msg->Message_en; + } + + if (locale == AlarmMessageLocale_t::FR) { + return msg->Message_fr[0] != '\0' ? msg->Message_fr : msg->Message_en; + } + + return msg->Message_en; +} + int AlarmLogParser::getTimezoneOffset() { // see: https://stackoverflow.com/questions/13804095/get-the-time-zone-gmt-offset-in-c/44063597#44063597 diff --git a/lib/Hoymiles/src/parser/AlarmLogParser.h b/lib/Hoymiles/src/parser/AlarmLogParser.h index 8cdeb0645..9189d175e 100644 --- a/lib/Hoymiles/src/parser/AlarmLogParser.h +++ b/lib/Hoymiles/src/parser/AlarmLogParser.h @@ -8,7 +8,7 @@ #define ALARM_LOG_ENTRY_SIZE 12 #define ALARM_LOG_PAYLOAD_SIZE (ALARM_LOG_ENTRY_COUNT * ALARM_LOG_ENTRY_SIZE + 4) -#define ALARM_MSG_COUNT 111 +#define ALARM_MSG_COUNT 130 struct AlarmLogEntry_t { uint16_t MessageId; @@ -22,10 +22,18 @@ enum class AlarmMessageType_t { HMT }; +enum class AlarmMessageLocale_t { + EN, + DE, + FR +}; + typedef struct { AlarmMessageType_t InverterType; uint16_t MessageId; - String Message; + char Message_en[62]; + char Message_de[63]; + char Message_fr[64]; } AlarmMessage_t; class AlarmLogParser : public Parser { @@ -35,7 +43,7 @@ class AlarmLogParser : public Parser { void appendFragment(uint8_t offset, uint8_t* payload, uint8_t len); uint8_t getEntryCount(); - void getLogEntry(uint8_t entryId, AlarmLogEntry_t* entry); + void getLogEntry(uint8_t entryId, AlarmLogEntry_t* entry, AlarmMessageLocale_t locale = AlarmMessageLocale_t::EN); void setLastAlarmRequestSuccess(LastCommandSuccess status); LastCommandSuccess getLastAlarmRequestSuccess(); @@ -44,6 +52,7 @@ class AlarmLogParser : public Parser { private: static int getTimezoneOffset(); + String getLocaleMessage(const AlarmMessage_t *msg, AlarmMessageLocale_t locale); uint8_t _payloadAlarmLog[ALARM_LOG_PAYLOAD_SIZE]; uint8_t _alarmLogLength = 0; diff --git a/src/WebApi_eventlog.cpp b/src/WebApi_eventlog.cpp index 5c66375c4..2b2672722 100644 --- a/src/WebApi_eventlog.cpp +++ b/src/WebApi_eventlog.cpp @@ -35,6 +35,18 @@ void WebApiEventlogClass::onEventlogStatus(AsyncWebServerRequest* request) serial = strtoll(s.c_str(), NULL, 16); } + AlarmMessageLocale_t locale = AlarmMessageLocale_t::EN; + if (request->hasParam("locale")) { + String s = request->getParam("locale")->value(); + s.toLowerCase(); + if (s == "de") { + locale = AlarmMessageLocale_t::DE; + } + if (s == "fr") { + locale = AlarmMessageLocale_t::FR; + } + } + auto inv = Hoymiles.getInverterBySerial(serial); if (inv != nullptr) { @@ -47,7 +59,7 @@ void WebApiEventlogClass::onEventlogStatus(AsyncWebServerRequest* request) JsonObject eventsObject = eventsArray.createNestedObject(); AlarmLogEntry_t entry; - inv->EventLog()->getLogEntry(logEntry, &entry); + inv->EventLog()->getLogEntry(logEntry, &entry, locale); eventsObject["message_id"] = entry.MessageId; eventsObject["message"] = entry.Message; diff --git a/webapp/src/views/HomeView.vue b/webapp/src/views/HomeView.vue index d320b7167..0fdf96071 100644 --- a/webapp/src/views/HomeView.vue +++ b/webapp/src/views/HomeView.vue @@ -580,7 +580,7 @@ export default defineComponent({ }, onShowEventlog(serial: number) { this.eventLogLoading = true; - fetch("/api/eventlog/status?inv=" + serial, { headers: authHeader() }) + fetch("/api/eventlog/status?inv=" + serial + "&locale=" + this.$i18n.locale, { headers: authHeader() }) .then((response) => handleResponse(response, this.$emitter, this.$router)) .then((data) => { this.eventLogList = data; From 11d7b78d80ddbfa8387d4e1766d30c37a3ca8df2 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 11 Oct 2023 14:19:20 +0200 Subject: [PATCH 06/26] Apply automatic code formatting --- src/SunPosition.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/SunPosition.cpp b/src/SunPosition.cpp index a23bca24e..7044ae485 100644 --- a/src/SunPosition.cpp +++ b/src/SunPosition.cpp @@ -55,9 +55,7 @@ bool SunPositionClass::checkRecalcDayChanged() localtime_r(&now, &timeinfo); // don't use getLocalTime() as there could be a delay of 10ms uint32_t ymd; - ymd = (timeinfo.tm_year << 9) | - (timeinfo.tm_mon << 5) | - timeinfo.tm_mday; + ymd = (timeinfo.tm_year << 9) | (timeinfo.tm_mon << 5) | timeinfo.tm_mday; if (_lastSunPositionCalculatedYMD != ymd) { return true; @@ -65,16 +63,13 @@ bool SunPositionClass::checkRecalcDayChanged() return false; } - void SunPositionClass::updateSunData() { struct tm timeinfo; bool gotLocalTime; gotLocalTime = getLocalTime(&timeinfo, 5); - _lastSunPositionCalculatedYMD = (timeinfo.tm_year << 9) | - (timeinfo.tm_mon << 5) | - timeinfo.tm_mday; + _lastSunPositionCalculatedYMD = (timeinfo.tm_year << 9) | (timeinfo.tm_mon << 5) | timeinfo.tm_mday; setDoRecalc(false); if (!gotLocalTime) { From b477db7045b160e19c8d05555507404ee0737ddf Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Sat, 21 Oct 2023 12:54:51 +0200 Subject: [PATCH 07/26] Fix #1440: Add CSS code to stop numbers changing the size of their container --- webapp/src/scss/styles.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/webapp/src/scss/styles.scss b/webapp/src/scss/styles.scss index 6c1720cb7..c33417b69 100644 --- a/webapp/src/scss/styles.scss +++ b/webapp/src/scss/styles.scss @@ -1,2 +1,6 @@ // Import all of Bootstrap's CSS @import "~bootstrap/scss/bootstrap"; + +main { + font-feature-settings: "tnum"; +} \ No newline at end of file From 7e7d37233849914875ba337238ff9452b1dc45b5 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Sun, 29 Oct 2023 11:28:49 +0100 Subject: [PATCH 08/26] webapp: Update dependencies --- webapp/package.json | 24 +-- webapp/yarn.lock | 421 ++++++++++++++++++++++++-------------------- 2 files changed, 240 insertions(+), 205 deletions(-) diff --git a/webapp/package.json b/webapp/package.json index eb8fa552a..fc0cf19fe 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -17,30 +17,30 @@ "mitt": "^3.0.1", "sortablejs": "^1.15.0", "spark-md5": "^3.0.2", - "vue": "^3.3.4", - "vue-i18n": "^9.5.0", + "vue": "^3.3.7", + "vue-i18n": "^9.6.1", "vue-router": "^4.2.5" }, "devDependencies": { "@intlify/unplugin-vue-i18n": "^1.4.0", "@rushstack/eslint-patch": "^1.5.1", "@tsconfig/node18": "^18.2.2", - "@types/bootstrap": "^5.2.7", - "@types/node": "^20.8.3", - "@types/sortablejs": "^1.15.3", - "@types/spark-md5": "^3.0.2", + "@types/bootstrap": "^5.2.8", + "@types/node": "^20.8.9", + "@types/sortablejs": "^1.15.4", + "@types/spark-md5": "^3.0.3", "@vitejs/plugin-vue": "^4.4.0", "@vue/eslint-config-typescript": "^12.0.0", "@vue/tsconfig": "^0.4.0", - "eslint": "^8.51.0", - "eslint-plugin-vue": "^9.17.0", + "eslint": "^8.52.0", + "eslint-plugin-vue": "^9.18.1", "npm-run-all": "^4.1.5", - "sass": "^1.69.0", - "terser": "^5.21.0", + "sass": "^1.69.5", + "terser": "^5.22.0", "typescript": "^5.2.2", - "vite": "^4.4.11", + "vite": "^4.5.0", "vite-plugin-compression": "^0.5.1", "vite-plugin-css-injected-by-js": "^3.3.0", - "vue-tsc": "^1.8.18" + "vue-tsc": "^1.8.22" } } diff --git a/webapp/yarn.lock b/webapp/yarn.lock index b4ebc6596..1d64b2ee1 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -12,11 +12,16 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== -"@babel/parser@^7.20.15", "@babel/parser@^7.21.3": +"@babel/parser@^7.21.3": version "7.21.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.8.tgz#642af7d0333eab9c0ad70b14ac5e76dbde7bfdf8" integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA== +"@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== + "@esbuild/android-arm64@0.18.11": version "0.18.11" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz#fa6f0cc7105367cb79cc0a8bf32bf50cb1673e45" @@ -166,17 +171,17 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.51.0": - version "8.51.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.51.0.tgz#6d419c240cfb2b66da37df230f7e7eef801c32fa" - integrity sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg== +"@eslint/js@8.52.0": + version "8.52.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.52.0.tgz#78fe5f117840f69dc4a353adf9b9cd926353378c" + integrity sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA== -"@humanwhocodes/config-array@^0.11.11": - version "0.11.11" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" - integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== +"@humanwhocodes/config-array@^0.11.13": + version "0.11.13" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" + integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== dependencies: - "@humanwhocodes/object-schema" "^1.2.1" + "@humanwhocodes/object-schema" "^2.0.1" debug "^4.1.1" minimatch "^3.0.5" @@ -185,10 +190,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@humanwhocodes/object-schema@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" + integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== "@intlify/bundle-utils@^7.4.0": version "7.4.0" @@ -206,20 +211,20 @@ source-map-js "^1.0.1" yaml-eslint-parser "^1.2.2" -"@intlify/core-base@9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.5.0.tgz#cbb17a27029ccfd0a83a837931baee08b887af60" - integrity sha512-y3ufM1RJbI/DSmJf3lYs9ACq3S/iRvaSsE3rPIk0MGH7fp+JxU6rdryv/EYcwfcr3Y1aHFlCBir6S391hRZ57w== +"@intlify/core-base@9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.6.1.tgz#702f58e27b7af3f5410f8aafb665d408fd8d6c75" + integrity sha512-cjyCVQA22wN2qsoCjBuB+ID8lYCriDRwCLcr+gQzrbQIfhhXpFnX9NkKG15b7gu7Lo2tkzdZLoYlW3wQQRR5UA== dependencies: - "@intlify/message-compiler" "9.5.0" - "@intlify/shared" "9.5.0" + "@intlify/message-compiler" "9.6.1" + "@intlify/shared" "9.6.1" -"@intlify/message-compiler@9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.5.0.tgz#1b4916bf11ca7024f9c15be0d6b4de7be5317808" - integrity sha512-CAhVNfEZcOVFg0/5MNyt+OFjvs4J/ARjCj2b+54/FvFP0EDJI5lIqMTSDBE7k0atMROSP0SvWCkwu/AZ5xkK1g== +"@intlify/message-compiler@9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.6.1.tgz#bb394f71c9dea304db04ae55c8403a4a904345ee" + integrity sha512-kTOCEtKLg0pwz7Fh2z6to17jljy7kuZ1J77uGxCe3s+rixl1w0fXdaGvO59f9PwYSygR7Fe43I09EoSeuRW4UA== dependencies: - "@intlify/shared" "9.5.0" + "@intlify/shared" "9.6.1" source-map-js "^1.0.2" "@intlify/message-compiler@^9.4.0": @@ -235,10 +240,10 @@ resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.4.0.tgz#4a78d462fc82433db900981e12eb5b1aae3d6085" integrity sha512-AFqymip2kToqA0B6KZPg5jSrdcVHoli9t/VhGKE2iiMq9utFuMoGdDC/JOCIZgwxo6aXAk86QyU2XtzEoMuZ6A== -"@intlify/shared@9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.5.0.tgz#185d9ab9f6b4bb4f4d133cfdd51432e9b94c2c44" - integrity sha512-tAxV14LMXZDZbu32XzLMTsowNlgJNmLwWHYzvMUl6L8gvQeoYiZONjY7AUsqZW8TOZDX9lfvF6adPkk9FSRdDA== +"@intlify/shared@9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.6.1.tgz#4672e7ac7a6088d5293a4bcef81156cf7de48b19" + integrity sha512-gD7r6xwG7II74JsJUXcVY0AvTyB5t7mlsB2WTot0ZncTLILQbyEeJtUOmvpvAXrh9TUr4jGPwhTC7SKtxjhl5A== "@intlify/unplugin-vue-i18n@^1.4.0": version "1.4.0" @@ -290,6 +295,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + "@jridgewell/trace-mapping@^0.3.9": version "0.3.17" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" @@ -348,10 +358,10 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node18/-/node18-18.2.2.tgz#81fb16ecff0d400b1cbadbf76713b50f331029ce" integrity sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw== -"@types/bootstrap@^5.2.7": - version "5.2.7" - resolved "https://registry.yarnpkg.com/@types/bootstrap/-/bootstrap-5.2.7.tgz#a920df4ea82d8cc605751007f5c9744336842f30" - integrity sha512-vWs0HzobIB8Af2F0B1GXpaVLSVn1NWULDYgTIWp08Et/r2B3aAwwhFBeOs/rRFWJA38EZTXkWP3tepIjpQkpLg== +"@types/bootstrap@^5.2.8": + version "5.2.8" + resolved "https://registry.yarnpkg.com/@types/bootstrap/-/bootstrap-5.2.8.tgz#7000cd03a3aaf9c4f804050ab23a25ba8e9b7eba" + integrity sha512-14do+aWZPc1w3G+YevSsy8eas1XEPhTOUNBhQX/r12YKn7ySssATJusBQ/HCQAd2nq54U8vvrftHSb1YpeJUXg== dependencies: "@popperjs/core" "^2.9.2" @@ -365,25 +375,27 @@ 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.8.3": - version "20.8.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.3.tgz#c4ae2bb1cfab2999ed441a95c122bbbe1567a66d" - integrity sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw== +"@types/node@^20.8.9": + version "20.8.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.9.tgz#646390b4fab269abce59c308fc286dcd818a2b08" + integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg== + dependencies: + undici-types "~5.26.4" "@types/semver@^7.5.0": version "7.5.1" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.1.tgz#0480eeb7221eb9bc398ad7432c9d7e14b1a5a367" integrity sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg== -"@types/sortablejs@^1.15.3": - version "1.15.3" - resolved "https://registry.yarnpkg.com/@types/sortablejs/-/sortablejs-1.15.3.tgz#b9c0e2740100ae94919c9f138a38600c8f8124ea" - integrity sha512-v+zh6TZP/cLeMUK0MDx1onp8e7Jk2/4iTQ7sb/n80rTAvBm14yJkpOEfJdrTCkHiF7IZbPjxGX2NRJfogRoYIg== +"@types/sortablejs@^1.15.4": + version "1.15.4" + resolved "https://registry.yarnpkg.com/@types/sortablejs/-/sortablejs-1.15.4.tgz#9ccaa84a64205defcbb78df63176a3722121ccd7" + integrity sha512-7oL7CcPSfoyoNx3Ba1+79ykJzpEKVhHUyfAiN5eT/FoeDXOR3eBDLXf9ndDNuxaExmjpI+zVi2dMMuaoXUOzNA== -"@types/spark-md5@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/spark-md5/-/spark-md5-3.0.2.tgz#da2e8a778a20335fc4f40b6471c4b0d86b70da55" - integrity sha512-82E/lVRaqelV9qmRzzJ1PKTpyrpnT7mwdneKNJB9hUtypZDMggloDfFUCIqRRx3lYRxteCwXSq9c+W71Vf0QnQ== +"@types/spark-md5@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/spark-md5/-/spark-md5-3.0.3.tgz#f76348ab1cb7536dbd9c583f092914505a654894" + integrity sha512-Uocq0wrVjF//W7IQGDvGm7K14MvzWNl95xjiQHZkmX+BX0deJyN7UKTaBUGUIINqzKwhi41ysk5aD4Q5d+ZDvw== "@typescript-eslint/eslint-plugin@^6.7.0": version "6.7.0" @@ -470,31 +482,37 @@ "@typescript-eslint/types" "6.7.0" eslint-visitor-keys "^3.4.1" +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + "@vitejs/plugin-vue@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.4.0.tgz#8ae96573236cdb12de6850a6d929b5537ec85390" integrity sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg== -"@volar/language-core@1.10.3", "@volar/language-core@~1.10.3": - version "1.10.3" - resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.10.3.tgz#a345b43c112279e5b2f0a37d96735b848c653a55" - integrity sha512-7Qgwu9bWUHN+cLrOkCbIVBkL+RVPREhvY07wY89dGxi4mY9mQCsUVRRp64F61lX7Nc27meMnvy0sWlzY0x6oQQ== +"@volar/language-core@1.10.7", "@volar/language-core@~1.10.5": + version "1.10.7" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.10.7.tgz#9d555bf0a3ca652c525651baba5ecf8a55cf3471" + integrity sha512-6+WI7HGqWCsKJ/bms4V45WP7eDeoGxDtLjYPrHB7QkIWVkRLIeGPzzBoonZz9kERM+Kld3W89Y+IlICejVAKhA== dependencies: - "@volar/source-map" "1.10.3" + "@volar/source-map" "1.10.7" -"@volar/source-map@1.10.3", "@volar/source-map@~1.10.3": - version "1.10.3" - resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.10.3.tgz#3730ca1f238b8c80d0f6da48117ac537cda4f316" - integrity sha512-QE9nwK3xsdBQGongHnC9SCR0itx7xUKQFsUDn5HbZY3pHpyXxdY1hSBG0eh9mE+aTKoM4KlqMvrb+19Tv9vS1Q== +"@volar/source-map@1.10.7", "@volar/source-map@~1.10.5": + version "1.10.7" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.10.7.tgz#f2b5c6b99f3fc91c10d4013eaeb083fbbf4b9e0d" + integrity sha512-anA254XO0lmmeu0p/kvgPOCkrVpqNIHWMvEkPX70PSk4ntg0iBzN/f0Kip6deXvibl6v14Q3Z8RihWrZwdZEEQ== dependencies: muggle-string "^0.3.1" -"@volar/typescript@~1.10.3": - version "1.10.3" - resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.10.3.tgz#5e95d277e83bef3fc5f7df429c20a959391d2ce4" - integrity sha512-n0ar6xGYpRoSvgGMetm/JXP0QAXx+NOUvxCaWCfCjiFivQRSLJeydYDijhoGBUl5KSKosqq9In5L3e/m2TqTcQ== +"@volar/typescript@~1.10.5": + version "1.10.7" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.10.7.tgz#2ed47e3260d4161445099ba89c7471fbc51133b6" + integrity sha512-2hvA3vjXVUn1vOpsP/nWLnE5DUmY6YKQhvDRoZVfBrnWwIo0ySxdTUP4XieXGGgSk43xJaeU1zqQS/3Wfm7QgA== dependencies: - "@volar/language-core" "1.10.3" + "@volar/language-core" "1.10.7" + path-browserify "^1.0.1" "@vue/compiler-core@3.2.47": version "3.2.47" @@ -516,13 +534,13 @@ estree-walker "^2.0.2" source-map-js "^1.0.2" -"@vue/compiler-core@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128" - integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g== +"@vue/compiler-core@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.7.tgz#865a5734c971686d9737d85a0c5a08de045b6162" + integrity sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ== dependencies: - "@babel/parser" "^7.21.3" - "@vue/shared" "3.3.4" + "@babel/parser" "^7.23.0" + "@vue/shared" "3.3.7" estree-walker "^2.0.2" source-map-js "^1.0.2" @@ -534,13 +552,13 @@ "@vue/compiler-core" "3.2.47" "@vue/shared" "3.2.47" -"@vue/compiler-dom@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151" - integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w== +"@vue/compiler-dom@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz#a245aa03f9bfcdb537a239bf02842072de0644c9" + integrity sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw== dependencies: - "@vue/compiler-core" "3.3.4" - "@vue/shared" "3.3.4" + "@vue/compiler-core" "3.3.7" + "@vue/shared" "3.3.7" "@vue/compiler-dom@^3.3.0": version "3.3.2" @@ -550,20 +568,20 @@ "@vue/compiler-core" "3.3.2" "@vue/shared" "3.3.2" -"@vue/compiler-sfc@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df" - integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ== - dependencies: - "@babel/parser" "^7.20.15" - "@vue/compiler-core" "3.3.4" - "@vue/compiler-dom" "3.3.4" - "@vue/compiler-ssr" "3.3.4" - "@vue/reactivity-transform" "3.3.4" - "@vue/shared" "3.3.4" +"@vue/compiler-sfc@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz#219d04b3013c7b15fbc536e2279e07810b731cc2" + integrity sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw== + dependencies: + "@babel/parser" "^7.23.0" + "@vue/compiler-core" "3.3.7" + "@vue/compiler-dom" "3.3.7" + "@vue/compiler-ssr" "3.3.7" + "@vue/reactivity-transform" "3.3.7" + "@vue/shared" "3.3.7" estree-walker "^2.0.2" - magic-string "^0.30.0" - postcss "^8.1.10" + magic-string "^0.30.5" + postcss "^8.4.31" source-map-js "^1.0.2" "@vue/compiler-sfc@^3.2.47": @@ -590,13 +608,13 @@ "@vue/compiler-dom" "3.2.47" "@vue/shared" "3.2.47" -"@vue/compiler-ssr@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777" - integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ== +"@vue/compiler-ssr@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz#eff4a70f7ceb800d60e68d208b96a030c0f1b636" + integrity sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg== dependencies: - "@vue/compiler-dom" "3.3.4" - "@vue/shared" "3.3.4" + "@vue/compiler-dom" "3.3.7" + "@vue/shared" "3.3.7" "@vue/devtools-api@^6.5.0": version "6.5.0" @@ -612,16 +630,16 @@ "@typescript-eslint/parser" "^6.7.0" vue-eslint-parser "^9.3.1" -"@vue/language-core@1.8.18": - version "1.8.18" - resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-1.8.18.tgz#c111da12524bac3b12981786294b1ed5db2bd59f" - integrity sha512-byTi+mwSL7XnVRtfWE3MJy3HQryoVSQ3lymauXviegn3G1wwwlSOUljzQe3w5PyesOnBEIxYoavfKzMJnExrBA== +"@vue/language-core@1.8.22": + version "1.8.22" + resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-1.8.22.tgz#1ef62645fb9b1f830c6c84a5586e49e74727b1e3" + integrity sha512-bsMoJzCrXZqGsxawtUea1cLjUT9dZnDsy5TuZ+l1fxRMzUGQUG9+Ypq4w//CqpWmrx7nIAJpw2JVF/t258miRw== dependencies: - "@volar/language-core" "~1.10.3" - "@volar/source-map" "~1.10.3" + "@volar/language-core" "~1.10.5" + "@volar/source-map" "~1.10.5" "@vue/compiler-dom" "^3.3.0" - "@vue/reactivity" "^3.3.0" "@vue/shared" "^3.3.0" + computeds "^0.0.1" minimatch "^9.0.3" muggle-string "^0.3.1" vue-template-compiler "^2.7.14" @@ -637,55 +655,48 @@ estree-walker "^2.0.2" magic-string "^0.25.7" -"@vue/reactivity-transform@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929" - integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw== +"@vue/reactivity-transform@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz#eb9f5110af5085079b851d162205394bc790d539" + integrity sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA== dependencies: - "@babel/parser" "^7.20.15" - "@vue/compiler-core" "3.3.4" - "@vue/shared" "3.3.4" + "@babel/parser" "^7.23.0" + "@vue/compiler-core" "3.3.7" + "@vue/shared" "3.3.7" estree-walker "^2.0.2" - magic-string "^0.30.0" + magic-string "^0.30.5" -"@vue/reactivity@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253" - integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ== +"@vue/reactivity@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.7.tgz#48b6671a45ba33039da2c0eb25ae702f924486a9" + integrity sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg== dependencies: - "@vue/shared" "3.3.4" + "@vue/shared" "3.3.7" -"@vue/reactivity@^3.3.0": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.2.tgz#c4ddc5087039070c0c11810f6bc1aa59c99f0cb5" - integrity sha512-yX8C4uTgg2Tdj+512EEMnMKbLveoITl7YdQX35AYgx8vBvQGszKiiCN46g4RY6/deeo/5DLbeUUGxCq1qWMf5g== +"@vue/runtime-core@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.7.tgz#c1eece1c98f936dc69dd0667d11b464579b128fd" + integrity sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ== dependencies: - "@vue/shared" "3.3.2" + "@vue/reactivity" "3.3.7" + "@vue/shared" "3.3.7" -"@vue/runtime-core@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1" - integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA== - dependencies: - "@vue/reactivity" "3.3.4" - "@vue/shared" "3.3.4" - -"@vue/runtime-dom@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566" - integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ== +"@vue/runtime-dom@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz#e7cf88cc01591fdf6e3164825554fdadc3137ffc" + integrity sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw== dependencies: - "@vue/runtime-core" "3.3.4" - "@vue/shared" "3.3.4" - csstype "^3.1.1" + "@vue/runtime-core" "3.3.7" + "@vue/shared" "3.3.7" + csstype "^3.1.2" -"@vue/server-renderer@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c" - integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ== +"@vue/server-renderer@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.7.tgz#0cc3dc6ad39a54693e6e8f853caa3c7bb43b0364" + integrity sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw== dependencies: - "@vue/compiler-ssr" "3.3.4" - "@vue/shared" "3.3.4" + "@vue/compiler-ssr" "3.3.7" + "@vue/shared" "3.3.7" "@vue/shared@3.2.47": version "3.2.47" @@ -697,24 +708,16 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.2.tgz#774cd9b4635ce801b70a3fc3713779a5ef5d77c3" integrity sha512-0rFu3h8JbclbnvvKrs7Fe5FNGV9/5X2rPD7KmOzhLSUAiQH5//Hq437Gv0fR5Mev3u/nbtvmLl8XgwCU20/ZfQ== -"@vue/shared@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780" - integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ== +"@vue/shared@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.7.tgz#0091852fe5cc4237c8440fe32f3ab6bc920ae6d9" + integrity sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg== "@vue/tsconfig@^0.4.0": version "0.4.0" resolved "https://registry.yarnpkg.com/@vue/tsconfig/-/tsconfig-0.4.0.tgz#f01e2f6089b5098136fb084a0dd0cdd4533b72b0" integrity sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg== -"@vue/typescript@1.8.18": - version "1.8.18" - resolved "https://registry.yarnpkg.com/@vue/typescript/-/typescript-1.8.18.tgz#27cf06fc42fefae4254d9fd25297156c54a27e0f" - integrity sha512-3M+lu+DUwJW0fNwd/rLE0FenmELxcC6zxgm/YZ25jSTi+uNGj9L5XvXvf20guC69gQvZ+cg49tTxbepfFVuNNQ== - dependencies: - "@volar/typescript" "~1.10.3" - "@vue/language-core" "1.8.18" - acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -908,6 +911,11 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +computeds@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/computeds/-/computeds-0.0.1.tgz#215b08a4ba3e08a11ff6eee5d6d8d7166a97ce2e" + integrity sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -938,7 +946,7 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -csstype@^3.1.1: +csstype@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== @@ -1078,10 +1086,10 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-plugin-vue@^9.17.0: - version "9.17.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.17.0.tgz#4501547373f246547083482838b4c8f4b28e5932" - integrity sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ== +eslint-plugin-vue@^9.18.1: + version "9.18.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.18.1.tgz#73cf29df7450ce5913296465f8d1dc545344920c" + integrity sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg== dependencies: "@eslint-community/eslint-utils" "^4.4.0" natural-compare "^1.4.0" @@ -1122,18 +1130,19 @@ eslint-visitor-keys@^3.4.1: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== -eslint@^8.51.0: - version "8.51.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3" - integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA== +eslint@^8.52.0: + version "8.52.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.52.0.tgz#d0cd4a1fac06427a61ef9242b9353f36ea7062fc" + integrity sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.51.0" - "@humanwhocodes/config-array" "^0.11.11" + "@eslint/js" "8.52.0" + "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -1760,6 +1769,13 @@ magic-string@^0.30.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" +magic-string@^0.30.5: + version "0.30.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" + integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" @@ -1954,6 +1970,11 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -2051,6 +2072,15 @@ postcss@^8.4.27: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^8.4.31: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -2145,10 +2175,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.69.0: - version "1.69.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.69.0.tgz#5195075371c239ed556280cf2f5944d234f42679" - integrity sha512-l3bbFpfTOGgQZCLU/gvm1lbsQ5mC/WnLz3djL2v4WCJBDrWm58PO+jgngcGRNnKUh6wSsdm50YaovTqskZ0xDQ== +sass@^1.69.5: + version "1.69.5" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.69.5.tgz#23e18d1c757a35f2e52cc81871060b9ad653dfde" + integrity sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -2338,10 +2368,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.21.0: - version "5.21.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.21.0.tgz#d2b27e92b5e56650bc83b6defa00a110f0b124b2" - integrity sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw== +terser@^5.22.0: + version "5.22.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d" + integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -2404,6 +2434,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -2453,10 +2488,10 @@ vite-plugin-css-injected-by-js@^3.3.0: resolved "https://registry.yarnpkg.com/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.3.0.tgz#c19480a9e42a95c5bced976a9dde1446f9bd91ff" integrity sha512-xG+jyHNCmUqi/TXp6q88wTJGeAOrNLSyUUTp4qEQ9QZLGcHWQQsCsSSKa59rPMQr8sOzfzmWDd8enGqfH/dBew== -vite@^4.4.11: - version "4.4.11" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.11.tgz#babdb055b08c69cfc4c468072a2e6c9ca62102b0" - integrity sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A== +vite@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.0.tgz#ec406295b4167ac3bc23e26f9c8ff559287cff26" + integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw== dependencies: esbuild "^0.18.10" postcss "^8.4.27" @@ -2477,13 +2512,13 @@ vue-eslint-parser@^9.3.1: lodash "^4.17.21" semver "^7.3.6" -vue-i18n@^9.5.0: - version "9.5.0" - resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.5.0.tgz#361a820f591f6d9689435a42763fd1dae224833b" - integrity sha512-NiI3Ph1qMstNf7uhYh8trQBOBFLxeJgcOxBq51pCcZ28Vs18Y7BDS58r8HGDKCYgXdLUYqPDXdKatIF4bvBVZg== +vue-i18n@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.6.1.tgz#731d65074feda48a9f7c3dfabd94843065cf9ced" + integrity sha512-hjCmJzyHJBl+ru0jmC3RTEzyj+oDHP8IURTa003R6//4OTEY6pwz2scvvq2mM3C0UV4wD5XWH1xrtYQF7Ks5Fg== dependencies: - "@intlify/core-base" "9.5.0" - "@intlify/shared" "9.5.0" + "@intlify/core-base" "9.6.1" + "@intlify/shared" "9.6.1" "@vue/devtools-api" "^6.5.0" vue-router@^4.2.5: @@ -2501,25 +2536,25 @@ vue-template-compiler@^2.7.14: de-indent "^1.0.2" he "^1.2.0" -vue-tsc@^1.8.18: - version "1.8.18" - resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.8.18.tgz#9f92df899932c6bcee55284e4e781d35163f0816" - integrity sha512-AwQxBB9SZX308TLL1932P1JByuMsXC2jLfRBGt8SBdm1e3cXkDlFaXUAqibfKnoQ1ZC2zO2NSbeBNdSjOcdvJw== +vue-tsc@^1.8.22: + version "1.8.22" + resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.8.22.tgz#421e73c38b50802a6716ca32ed87b5970c867323" + integrity sha512-j9P4kHtW6eEE08aS5McFZE/ivmipXy0JzrnTgbomfABMaVKx37kNBw//irL3+LlE3kOo63XpnRigyPC3w7+z+A== dependencies: - "@vue/language-core" "1.8.18" - "@vue/typescript" "1.8.18" + "@volar/typescript" "~1.10.5" + "@vue/language-core" "1.8.22" semver "^7.5.4" -vue@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6" - integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw== - dependencies: - "@vue/compiler-dom" "3.3.4" - "@vue/compiler-sfc" "3.3.4" - "@vue/runtime-dom" "3.3.4" - "@vue/server-renderer" "3.3.4" - "@vue/shared" "3.3.4" +vue@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.7.tgz#972a218682443a3819d121261b2bff914417f4f0" + integrity sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA== + dependencies: + "@vue/compiler-dom" "3.3.7" + "@vue/compiler-sfc" "3.3.7" + "@vue/runtime-dom" "3.3.7" + "@vue/server-renderer" "3.3.7" + "@vue/shared" "3.3.7" webpack-sources@^3.2.3: version "3.2.3" From 6a64fe6e1a9a5c59093111c6b94a45d746b6dc13 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 30 Oct 2023 16:45:34 +0100 Subject: [PATCH 09/26] Fix #1456: Prevent white spaces in username field --- webapp/src/views/LoginView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/src/views/LoginView.vue b/webapp/src/views/LoginView.vue index ef533bffe..e097e3f4a 100644 --- a/webapp/src/views/LoginView.vue +++ b/webapp/src/views/LoginView.vue @@ -9,7 +9,7 @@
+ :class="{ 'is-invalid': submitted && !username }" @keydown.space.prevent />
{{ $t('login.UsernameRequired') }}
From aba57e687afe880bc4f0fa02705115f11b04d86d Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 30 Oct 2023 20:25:39 +0100 Subject: [PATCH 10/26] Set dnsServerStatus first to prevent running --- src/NetworkSettings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NetworkSettings.cpp b/src/NetworkSettings.cpp index e09575453..ab90c3746 100644 --- a/src/NetworkSettings.cpp +++ b/src/NetworkSettings.cpp @@ -121,8 +121,8 @@ void NetworkSettingsClass::setupMode() dnsServer->start(DNS_PORT, "*", WiFi.softAPIP()); dnsServerStatus = true; } else { - dnsServer->stop(); dnsServerStatus = false; + dnsServer->stop(); if (_networkMode == network_mode::WiFi) { WiFi.mode(WIFI_STA); } else { From a068eb258660935b052443f4db9a46159bcfaa4e Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 30 Oct 2023 20:42:56 +0100 Subject: [PATCH 11/26] Remove duplicated code --- src/MqttSettings.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/MqttSettings.cpp b/src/MqttSettings.cpp index 6275bb8f1..eeb92bb4f 100644 --- a/src/MqttSettings.cpp +++ b/src/MqttSettings.cpp @@ -182,18 +182,13 @@ String MqttSettingsClass::getPrefix() void MqttSettingsClass::publish(const String& subtopic, const String& payload) { - std::lock_guard lock(_clientLock); - if (mqttClient == nullptr) { - return; - } - String topic = getPrefix(); topic += subtopic; String value = payload; value.trim(); - mqttClient->publish(topic.c_str(), 0, Configuration.get().Mqtt_Retain, value.c_str()); + publishGeneric(topic, value, Configuration.get().Mqtt_Retain, 0); } void MqttSettingsClass::publishGeneric(const String& topic, const String& payload, bool retain, uint8_t qos) From 7c875187a8357e73df17a8f38b65e477bdf657c3 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Mon, 30 Oct 2023 20:53:45 +0100 Subject: [PATCH 12/26] Implemented mDNS --- include/Configuration.h | 2 ++ include/NetworkSettings.h | 2 ++ include/defaults.h | 4 ++- src/Configuration.cpp | 6 ++++ src/NetworkSettings.cpp | 34 ++++++++++++++++++- src/WebApi_network.cpp | 2 ++ webapp/src/locales/de.json | 4 ++- webapp/src/locales/en.json | 4 ++- webapp/src/locales/fr.json | 6 ++-- .../{NetworkkConfig.ts => NetworkConfig.ts} | 3 +- webapp/src/views/NetworkAdminView.vue | 10 ++++-- 11 files changed, 68 insertions(+), 9 deletions(-) rename webapp/src/types/{NetworkkConfig.ts => NetworkConfig.ts} (89%) diff --git a/include/Configuration.h b/include/Configuration.h index 62d95c050..39284cb8e 100644 --- a/include/Configuration.h +++ b/include/Configuration.h @@ -66,6 +66,8 @@ struct CONFIG_T { char WiFi_Hostname[WIFI_MAX_HOSTNAME_STRLEN + 1]; uint32_t WiFi_ApTimeout; + bool Mdns_Enabled; + char Ntp_Server[NTP_MAX_SERVER_STRLEN + 1]; char Ntp_Timezone[NTP_MAX_TIMEZONE_STRLEN + 1]; char Ntp_TimezoneDescr[NTP_MAX_TIMEZONEDESCR_STRLEN + 1]; diff --git a/include/NetworkSettings.h b/include/NetworkSettings.h index f2cbdad3f..fa94c8b3a 100644 --- a/include/NetworkSettings.h +++ b/include/NetworkSettings.h @@ -59,6 +59,7 @@ class NetworkSettingsClass { private: void setHostname(); void setStaticIp(); + void handleMDNS(); void setupMode(); void NetworkEvent(WiFiEvent_t event); bool adminEnabled = true; @@ -76,6 +77,7 @@ class NetworkSettingsClass { network_mode _networkMode = network_mode::Undefined; bool _ethConnected = false; std::vector _cbEventList; + bool lastMdnsEnabled = false; }; extern NetworkSettingsClass NetworkSettings; \ No newline at end of file diff --git a/include/defaults.h b/include/defaults.h index 35753b918..2ee00630d 100644 --- a/include/defaults.h +++ b/include/defaults.h @@ -20,6 +20,8 @@ #define WIFI_PASSWORD "" #define WIFI_DHCP true +#define MDNS_ENABLED false + #define NTP_SERVER "pool.ntp.org" #define NTP_TIMEZONE "CET-1CEST,M3.5.0,M10.5.0/3" #define NTP_TIMEZONEDESCR "Europe/Berlin" @@ -96,4 +98,4 @@ #define DISPLAY_CONTRAST 60U #define DISPLAY_LANGUAGE 0U -#define REACHABLE_THRESHOLD 2U \ No newline at end of file +#define REACHABLE_THRESHOLD 2U diff --git a/src/Configuration.cpp b/src/Configuration.cpp index aacac78e6..e90f71915 100644 --- a/src/Configuration.cpp +++ b/src/Configuration.cpp @@ -41,6 +41,9 @@ bool ConfigurationClass::write() wifi["hostname"] = config.WiFi_Hostname; wifi["aptimeout"] = config.WiFi_ApTimeout; + JsonObject mdns = doc.createNestedObject("mdns"); + mdns["enabled"] = config.Mdns_Enabled; + JsonObject ntp = doc.createNestedObject("ntp"); ntp["server"] = config.Ntp_Server; ntp["timezone"] = config.Ntp_Timezone; @@ -191,6 +194,9 @@ bool ConfigurationClass::read() config.WiFi_Dhcp = wifi["dhcp"] | WIFI_DHCP; config.WiFi_ApTimeout = wifi["aptimeout"] | ACCESS_POINT_TIMEOUT; + JsonObject mdns = doc["mdns"]; + config.Mdns_Enabled = mdns["enabled"] | MDNS_ENABLED; + JsonObject ntp = doc["ntp"]; strlcpy(config.Ntp_Server, ntp["server"] | NTP_SERVER, sizeof(config.Ntp_Server)); strlcpy(config.Ntp_Timezone, ntp["timezone"] | NTP_TIMEZONE, sizeof(config.Ntp_Timezone)); diff --git a/src/NetworkSettings.cpp b/src/NetworkSettings.cpp index e09575453..fb4c54ba2 100644 --- a/src/NetworkSettings.cpp +++ b/src/NetworkSettings.cpp @@ -8,6 +8,7 @@ #include "PinMapping.h" #include "Utils.h" #include "defaults.h" +#include #include NetworkSettingsClass::NetworkSettingsClass() @@ -110,6 +111,35 @@ void NetworkSettingsClass::raiseEvent(network_event event) } } +void NetworkSettingsClass::handleMDNS() +{ + bool mdnsEnabled = Configuration.get().Mdns_Enabled; + + if (lastMdnsEnabled == mdnsEnabled) { + return; + } + + lastMdnsEnabled = mdnsEnabled; + + MDNS.end(); + + if (!mdnsEnabled) { + return; + } + + if (MDNS.begin(getHostname())) { + MessageOutput.print("MDNS responder starting..."); + + MDNS.addService("http", "tcp", 80); + MDNS.addService("opendtu", "tcp", 80); + MDNS.addServiceTxt("opendtu", "tcp", "git_hash", AUTO_GIT_HASH); + + MessageOutput.println("done"); + } else { + MessageOutput.println("Error setting up MDNS responder!"); + } +} + void NetworkSettingsClass::setupMode() { if (adminEnabled) { @@ -218,6 +248,8 @@ void NetworkSettingsClass::loop() if (dnsServerStatus) { dnsServer->processNextRequest(); } + + handleMDNS(); } void NetworkSettingsClass::applyConfig() @@ -417,4 +449,4 @@ network_mode NetworkSettingsClass::NetworkMode() return _networkMode; } -NetworkSettingsClass NetworkSettings; \ No newline at end of file +NetworkSettingsClass NetworkSettings; diff --git a/src/WebApi_network.cpp b/src/WebApi_network.cpp index 9c05e7cc3..849c5f8a8 100644 --- a/src/WebApi_network.cpp +++ b/src/WebApi_network.cpp @@ -76,6 +76,7 @@ void WebApiNetworkClass::onNetworkAdminGet(AsyncWebServerRequest* request) root["ssid"] = config.WiFi_Ssid; root["password"] = config.WiFi_Password; root["aptimeout"] = config.WiFi_ApTimeout; + root["mdnsenabled"] = config.Mdns_Enabled; response->setLength(); request->send(response); @@ -236,6 +237,7 @@ void WebApiNetworkClass::onNetworkAdminPost(AsyncWebServerRequest* request) config.WiFi_Dhcp = false; } config.WiFi_ApTimeout = root["aptimeout"].as(); + config.Mdns_Enabled = root["mdnsenabled"].as(); Configuration.write(); retMsg["type"] = "success"; diff --git a/webapp/src/locales/de.json b/webapp/src/locales/de.json index 759423b8d..62e7548b7 100644 --- a/webapp/src/locales/de.json +++ b/webapp/src/locales/de.json @@ -402,7 +402,9 @@ "ApTimeout": "AccessPoint Zeitlimit:", "ApTimeoutHint": "Zeit die der AccessPoint offen gehalten wird. Ein Wert von 0 bedeutet unendlich.", "Minutes": "Minuten", - "Save": "@:dtuadmin.Save" + "Save": "@:dtuadmin.Save", + "EnableMdns": "mDNS aktivieren", + "MdnsSettings": "mDNS-Einstellungen" }, "mqttadmin": { "MqttSettings": "MQTT-Einstellungen", diff --git a/webapp/src/locales/en.json b/webapp/src/locales/en.json index 67c6dbf5d..40458b171 100644 --- a/webapp/src/locales/en.json +++ b/webapp/src/locales/en.json @@ -402,7 +402,9 @@ "ApTimeout": "AccessPoint Timeout:", "ApTimeoutHint": "Time which the AccessPoint is kept open. A value of 0 means infinite.", "Minutes": "minutes", - "Save": "@:dtuadmin.Save" + "Save": "@:dtuadmin.Save", + "EnableMdns": "Enable mDNS", + "MdnsSettings": "mDNS Settings" }, "mqttadmin": { "MqttSettings": "MQTT Settings", diff --git a/webapp/src/locales/fr.json b/webapp/src/locales/fr.json index 7f9fb072d..e5a48eb1e 100644 --- a/webapp/src/locales/fr.json +++ b/webapp/src/locales/fr.json @@ -402,7 +402,9 @@ "ApTimeout": "Délai d'attente du point d'accès", "ApTimeoutHint": "Durée pendant laquelle le point d'accès reste ouvert. Une valeur de 0 signifie infini.", "Minutes": "minutes", - "Save": "@:dtuadmin.Save" + "Save": "@:dtuadmin.Save", + "EnableMdns": "Activer mDNS", + "MdnsSettings": "mDNS Settings" }, "mqttadmin": { "MqttSettings": "Paramètres MQTT", @@ -580,4 +582,4 @@ "ValueSelected": "Sélectionné", "ValueActive": "Activé" } -} \ No newline at end of file +} diff --git a/webapp/src/types/NetworkkConfig.ts b/webapp/src/types/NetworkConfig.ts similarity index 89% rename from webapp/src/types/NetworkkConfig.ts rename to webapp/src/types/NetworkConfig.ts index e9b3578b4..da5ddd44b 100644 --- a/webapp/src/types/NetworkkConfig.ts +++ b/webapp/src/types/NetworkConfig.ts @@ -9,4 +9,5 @@ export interface NetworkConfig { dns1: string; dns2: string; aptimeout: number; -} \ No newline at end of file + mdnsenabled: boolean; +} diff --git a/webapp/src/views/NetworkAdminView.vue b/webapp/src/views/NetworkAdminView.vue index c8bf0cb8e..1019f3e99 100644 --- a/webapp/src/views/NetworkAdminView.vue +++ b/webapp/src/views/NetworkAdminView.vue @@ -50,6 +50,12 @@ type="text" maxlength="32"/> + + + + \ No newline at end of file + From 0a4945ae39cc943f93d7ee1e8057a39f5ad5bff5 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Sun, 5 Nov 2023 13:43:48 +0100 Subject: [PATCH 13/26] Adjusted inverter names --- lib/Hoymiles/src/inverters/HMS_1CH.cpp | 2 +- lib/Hoymiles/src/inverters/HMS_1CHv2.cpp | 2 +- lib/Hoymiles/src/inverters/HMS_2CH.cpp | 2 +- lib/Hoymiles/src/inverters/HMS_4CH.cpp | 4 ++-- lib/Hoymiles/src/inverters/HMT_6CH.cpp | 2 +- lib/Hoymiles/src/inverters/HM_1CH.cpp | 2 +- lib/Hoymiles/src/inverters/HM_2CH.cpp | 2 +- lib/Hoymiles/src/inverters/HM_4CH.cpp | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/Hoymiles/src/inverters/HMS_1CH.cpp b/lib/Hoymiles/src/inverters/HMS_1CH.cpp index a935a60be..c659794c6 100644 --- a/lib/Hoymiles/src/inverters/HMS_1CH.cpp +++ b/lib/Hoymiles/src/inverters/HMS_1CH.cpp @@ -40,7 +40,7 @@ bool HMS_1CH::isValidSerial(uint64_t serial) String HMS_1CH::typeName() { - return "HMS-300, HMS-350, HMS-400, HMS-450, HMS-500"; + return "HMS-300/350/400/450/500-1T"; } const byteAssign_t* HMS_1CH::getByteAssignment() diff --git a/lib/Hoymiles/src/inverters/HMS_1CHv2.cpp b/lib/Hoymiles/src/inverters/HMS_1CHv2.cpp index 0091c99c1..08de0a354 100644 --- a/lib/Hoymiles/src/inverters/HMS_1CHv2.cpp +++ b/lib/Hoymiles/src/inverters/HMS_1CHv2.cpp @@ -40,7 +40,7 @@ bool HMS_1CHv2::isValidSerial(uint64_t serial) String HMS_1CHv2::typeName() { - return "HMS-500 v2"; + return "HMS-500-1T v2"; } const byteAssign_t* HMS_1CHv2::getByteAssignment() diff --git a/lib/Hoymiles/src/inverters/HMS_2CH.cpp b/lib/Hoymiles/src/inverters/HMS_2CH.cpp index 12925d0f1..e33de9944 100644 --- a/lib/Hoymiles/src/inverters/HMS_2CH.cpp +++ b/lib/Hoymiles/src/inverters/HMS_2CH.cpp @@ -47,7 +47,7 @@ bool HMS_2CH::isValidSerial(uint64_t serial) String HMS_2CH::typeName() { - return "HMS-600, HMS-700, HMS-800, HMS-900, HMS-1000"; + return "HMS-600/700/800/900/1000-2T"; } const byteAssign_t* HMS_2CH::getByteAssignment() diff --git a/lib/Hoymiles/src/inverters/HMS_4CH.cpp b/lib/Hoymiles/src/inverters/HMS_4CH.cpp index e2947d8f3..ffdc20559 100644 --- a/lib/Hoymiles/src/inverters/HMS_4CH.cpp +++ b/lib/Hoymiles/src/inverters/HMS_4CH.cpp @@ -54,14 +54,14 @@ HMS_4CH::HMS_4CH(HoymilesRadio* radio, uint64_t serial) bool HMS_4CH::isValidSerial(uint64_t serial) { - // serial >= 0x114400000000 && serial <= 0x114499999999 + // serial >= 0x116400000000 && serial <= 0x116499999999 uint16_t preSerial = (serial >> 32) & 0xffff; return preSerial == 0x1164; } String HMS_4CH::typeName() { - return "HMS-1600, HMS-1800, HMS-2000"; + return "HMS-1600/1800/2000"; } const byteAssign_t* HMS_4CH::getByteAssignment() diff --git a/lib/Hoymiles/src/inverters/HMT_6CH.cpp b/lib/Hoymiles/src/inverters/HMT_6CH.cpp index eea3353da..69b3a60bb 100644 --- a/lib/Hoymiles/src/inverters/HMT_6CH.cpp +++ b/lib/Hoymiles/src/inverters/HMT_6CH.cpp @@ -84,7 +84,7 @@ bool HMT_6CH::isValidSerial(uint64_t serial) String HMT_6CH::typeName() { - return F("HMT-1800, HMT-2250"); + return F("HMT-1800/2250-6T"); } const byteAssign_t* HMT_6CH::getByteAssignment() diff --git a/lib/Hoymiles/src/inverters/HM_1CH.cpp b/lib/Hoymiles/src/inverters/HM_1CH.cpp index 0d54e4450..a7c39f4c0 100644 --- a/lib/Hoymiles/src/inverters/HM_1CH.cpp +++ b/lib/Hoymiles/src/inverters/HM_1CH.cpp @@ -53,7 +53,7 @@ bool HM_1CH::isValidSerial(uint64_t serial) String HM_1CH::typeName() { - return "HM-300, HM-350, HM-400"; + return "HM-300/350/400-1T"; } const byteAssign_t* HM_1CH::getByteAssignment() diff --git a/lib/Hoymiles/src/inverters/HM_2CH.cpp b/lib/Hoymiles/src/inverters/HM_2CH.cpp index 01252992f..2dc674b26 100644 --- a/lib/Hoymiles/src/inverters/HM_2CH.cpp +++ b/lib/Hoymiles/src/inverters/HM_2CH.cpp @@ -61,7 +61,7 @@ bool HM_2CH::isValidSerial(uint64_t serial) String HM_2CH::typeName() { - return "HM-600, HM-700, HM-800"; + return "HM-600/700/800-2T"; } const byteAssign_t* HM_2CH::getByteAssignment() diff --git a/lib/Hoymiles/src/inverters/HM_4CH.cpp b/lib/Hoymiles/src/inverters/HM_4CH.cpp index 5ac57b4c2..f5920491a 100644 --- a/lib/Hoymiles/src/inverters/HM_4CH.cpp +++ b/lib/Hoymiles/src/inverters/HM_4CH.cpp @@ -74,7 +74,7 @@ bool HM_4CH::isValidSerial(uint64_t serial) String HM_4CH::typeName() { - return "HM-1000, HM-1200, HM-1500"; + return "HM-1000/1200/1500-4T"; } const byteAssign_t* HM_4CH::getByteAssignment() From 2ae8ed5e180acac1e25e733f1adbbc073a5ee5b5 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Sun, 5 Nov 2023 13:44:08 +0100 Subject: [PATCH 14/26] Doc: Add class description for inverters --- lib/Hoymiles/src/inverters/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 lib/Hoymiles/src/inverters/README.md diff --git a/lib/Hoymiles/src/inverters/README.md b/lib/Hoymiles/src/inverters/README.md new file mode 100644 index 000000000..90b2951eb --- /dev/null +++ b/lib/Hoymiles/src/inverters/README.md @@ -0,0 +1,12 @@ +# Class overview + +| Class | Models | Serial range | +| --------------| --------------------------- | ------------ | +| HM_1CH | HM-300/350/400-1T | 1121 | +| HM_2CH | HM-600/700/800-2T | 1141 | +| 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_4CH | HMS-1600/1800/2000 | 1164 | +| HMT_6CH | HMT-1800/2250-6T | 1382 | From 17e92fc5ebeaee6388d890358d3bee4d912fe85d Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Tue, 7 Nov 2023 18:34:37 +0100 Subject: [PATCH 15/26] Feature: Support HMT-1600/1800/2000-4T --- README.md | 67 ++++++++++---------- lib/Hoymiles/src/Hoymiles.cpp | 5 +- lib/Hoymiles/src/inverters/HMT_4CH.cpp | 84 ++++++++++++++++++++++++++ lib/Hoymiles/src/inverters/HMT_4CH.h | 13 ++++ lib/Hoymiles/src/inverters/README.md | 3 +- 5 files changed, 138 insertions(+), 34 deletions(-) create mode 100644 lib/Hoymiles/src/inverters/HMT_4CH.cpp create mode 100644 lib/Hoymiles/src/inverters/HMT_4CH.h diff --git a/README.md b/README.md index 005fd28ff..6d105faad 100644 --- a/README.md +++ b/README.md @@ -24,38 +24,41 @@ Like to show your own build? Just send me a Pull Request. ## Currently supported Inverters -| Model | Required RF Module | DC Inputs | MPP-Tracker | AC Phases | -| --------------------| ------------------ | --------- | ----------- | --------- | -| Hoymiles HM-300 | NRF24L01+ | 1 | 1 | 1 | -| Hoymiles HM-350 | NRF24L01+ | 1 | 1 | 1 | -| Hoymiles HM-400 | NRF24L01+ | 1 | 1 | 1 | -| Hoymiles HM-600 | NRF24L01+ | 2 | 2 | 1 | -| Hoymiles HM-700 | NRF24L01+ | 2 | 2 | 1 | -| Hoymiles HM-800 | NRF24L01+ | 2 | 2 | 1 | -| Hoymiles HM-1000 | NRF24L01+ | 4 | 2 | 1 | -| Hoymiles HM-1200 | NRF24L01+ | 4 | 2 | 1 | -| Hoymiles HM-1500 | NRF24L01+ | 4 | 2 | 1 | -| Hoymiles HMS-300 | CMT2300A | 1 | 1 | 1 | -| Hoymiles HMS-350 | CMT2300A | 1 | 1 | 1 | -| Hoymiles HMS-400 | CMT2300A | 1 | 1 | 1 | -| Hoymiles HMS-450 | CMT2300A | 1 | 1 | 1 | -| Hoymiles HMS-500 | CMT2300A | 1 | 1 | 1 | -| Hoymiles HMS-600 | CMT2300A | 2 | 2 | 1 | -| Hoymiles HMS-700 | CMT2300A | 2 | 2 | 1 | -| Hoymiles HMS-800 | CMT2300A | 2 | 2 | 1 | -| Hoymiles HMS-900 | CMT2300A | 2 | 2 | 1 | -| Hoymiles HMS-1000 | CMT2300A | 2 | 2 | 1 | -| Hoymiles HMS-1600 | CMT2300A | 4 | 4 | 1 | -| Hoymiles HMS-1800 | CMT2300A | 4 | 4 | 1 | -| Hoymiles HMS-2000 | CMT2300A | 4 | 4 | 1 | -| Hoymiles HMT-1800 | CMT2300A | 6 | 3 | 3 | -| Hoymiles HMT-2250 | CMT2300A | 6 | 3 | 3 | -| Solenso SOL-H350 | NRF24L01+ | 1 | 1 | 1 | -| Solenso SOL-H400 | NRF24L01+ | 1 | 1 | 1 | -| Solenso SOL-H800 | NRF24L01+ | 2 | 2 | 1 | -| TSUN TSOL-M350 | NRF24L01+ | 1 | 1 | 1 | -| TSUN TSOL-M800 | NRF24L01+ | 2 | 2 | 1 | -| TSUN TSOL-M1600 | NRF24L01+ | 4 | 2 | 1 | +| Model | Required RF Module | DC Inputs | MPP-Tracker | AC Phases | +| ---------------------| ------------------ | --------- | ----------- | --------- | +| Hoymiles HM-300-1T | NRF24L01+ | 1 | 1 | 1 | +| Hoymiles HM-350-1T | NRF24L01+ | 1 | 1 | 1 | +| Hoymiles HM-400-1T | NRF24L01+ | 1 | 1 | 1 | +| Hoymiles HM-600-2T | NRF24L01+ | 2 | 2 | 1 | +| Hoymiles HM-700-2T | NRF24L01+ | 2 | 2 | 1 | +| Hoymiles HM-800-2T | NRF24L01+ | 2 | 2 | 1 | +| Hoymiles HM-1000-4T | NRF24L01+ | 4 | 2 | 1 | +| Hoymiles HM-1200-4T | NRF24L01+ | 4 | 2 | 1 | +| Hoymiles HM-1500-4T | NRF24L01+ | 4 | 2 | 1 | +| Hoymiles HMS-300-1T | CMT2300A | 1 | 1 | 1 | +| Hoymiles HMS-350-1T | CMT2300A | 1 | 1 | 1 | +| Hoymiles HMS-400-1T | CMT2300A | 1 | 1 | 1 | +| Hoymiles HMS-450-1T | CMT2300A | 1 | 1 | 1 | +| Hoymiles HMS-500-1T | CMT2300A | 1 | 1 | 1 | +| Hoymiles HMS-600-2T | CMT2300A | 2 | 2 | 1 | +| Hoymiles HMS-700-2T | CMT2300A | 2 | 2 | 1 | +| Hoymiles HMS-800-2T | CMT2300A | 2 | 2 | 1 | +| Hoymiles HMS-900-2T | CMT2300A | 2 | 2 | 1 | +| Hoymiles HMS-1000-2T | CMT2300A | 2 | 2 | 1 | +| Hoymiles HMS-1600-4T | CMT2300A | 4 | 4 | 1 | +| Hoymiles HMS-1800-4T | CMT2300A | 4 | 4 | 1 | +| Hoymiles HMS-2000-4T | CMT2300A | 4 | 4 | 1 | +| Hoymiles HMT-1600-4T | CMT2300A | 4 | 4 | 3 | +| Hoymiles HMT-1800-4T | CMT2300A | 4 | 4 | 3 | +| Hoymiles HMT-2000-4T | CMT2300A | 4 | 4 | 3 | +| Hoymiles HMT-1800-6T | CMT2300A | 6 | 3 | 3 | +| Hoymiles HMT-2250-6T | CMT2300A | 6 | 3 | 3 | +| Solenso SOL-H350 | NRF24L01+ | 1 | 1 | 1 | +| Solenso SOL-H400 | NRF24L01+ | 1 | 1 | 1 | +| Solenso SOL-H800 | NRF24L01+ | 2 | 2 | 1 | +| TSUN TSOL-M350 | NRF24L01+ | 1 | 1 | 1 | +| TSUN TSOL-M800 | NRF24L01+ | 2 | 2 | 1 | +| TSUN TSOL-M1600 | NRF24L01+ | 4 | 2 | 1 | **TSUN compatibility remark:** Compatibility with OpenDTU is most likly related to the serial number of the inverter. Current findings indicate that TSUN inverters with a serial number starting with "11" are supported, whereby inverters with a serial number starting with "10" are not. diff --git a/lib/Hoymiles/src/Hoymiles.cpp b/lib/Hoymiles/src/Hoymiles.cpp index 6d9a0806a..595a096de 100644 --- a/lib/Hoymiles/src/Hoymiles.cpp +++ b/lib/Hoymiles/src/Hoymiles.cpp @@ -8,6 +8,7 @@ #include "inverters/HMS_1CHv2.h" #include "inverters/HMS_2CH.h" #include "inverters/HMS_4CH.h" +#include "inverters/HMT_4CH.h" #include "inverters/HMT_6CH.h" #include "inverters/HM_1CH.h" #include "inverters/HM_2CH.h" @@ -140,7 +141,9 @@ void HoymilesClass::loop() std::shared_ptr HoymilesClass::addInverter(const char* name, uint64_t serial) { std::shared_ptr i = nullptr; - if (HMT_6CH::isValidSerial(serial)) { + if (HMT_4CH::isValidSerial(serial)) { + i = std::make_shared(_radioCmt.get(), serial); + } else if (HMT_6CH::isValidSerial(serial)) { i = std::make_shared(_radioCmt.get(), serial); } else if (HMS_4CH::isValidSerial(serial)) { i = std::make_shared(_radioCmt.get(), serial); diff --git a/lib/Hoymiles/src/inverters/HMT_4CH.cpp b/lib/Hoymiles/src/inverters/HMT_4CH.cpp new file mode 100644 index 000000000..d30a404ba --- /dev/null +++ b/lib/Hoymiles/src/inverters/HMT_4CH.cpp @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (C) 2023 Thomas Basler and others + */ +#include "HMT_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_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_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_Q, UNIT_VAR, 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_4CH::HMT_4CH(HoymilesRadio* radio, uint64_t serial) + : HMT_Abstract(radio, serial) {}; + +bool HMT_4CH::isValidSerial(uint64_t serial) +{ + // serial >= 0x136100000000 && serial <= 0x136199999999 + uint16_t preSerial = (serial >> 32) & 0xffff; + return preSerial == 0x1361; +} + +String HMT_4CH::typeName() +{ + return F("HMT-1600/1800/2000-4T"); +} + +const byteAssign_t* HMT_4CH::getByteAssignment() +{ + return byteAssignment; +} + +uint8_t HMT_4CH::getByteAssignmentSize() +{ + return sizeof(byteAssignment) / sizeof(byteAssignment[0]); +} diff --git a/lib/Hoymiles/src/inverters/HMT_4CH.h b/lib/Hoymiles/src/inverters/HMT_4CH.h new file mode 100644 index 000000000..7358dd45d --- /dev/null +++ b/lib/Hoymiles/src/inverters/HMT_4CH.h @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "HMT_Abstract.h" + +class HMT_4CH : public HMT_Abstract { +public: + explicit HMT_4CH(HoymilesRadio* radio, uint64_t serial); + static bool isValidSerial(uint64_t serial); + String typeName(); + const byteAssign_t* getByteAssignment(); + uint8_t getByteAssignmentSize(); +}; \ No newline at end of file diff --git a/lib/Hoymiles/src/inverters/README.md b/lib/Hoymiles/src/inverters/README.md index 90b2951eb..c080a7351 100644 --- a/lib/Hoymiles/src/inverters/README.md +++ b/lib/Hoymiles/src/inverters/README.md @@ -8,5 +8,6 @@ | 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_4CH | HMS-1600/1800/2000 | 1164 | +| HMS_4CH | HMS-1600/1800/2000-4T | 1164 | +| HMT_4CH | HMT-1600/1800/2000-4T | 1361 | | HMT_6CH | HMT-1800/2250-6T | 1382 | From 71d1b3b84656e9ee477f3839d9fcb33741ec12ac Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Tue, 7 Nov 2023 19:37:28 +0100 Subject: [PATCH 16/26] BREAKING CHANGE: Home Assistant Auto Discovery to new naming scheme Please Upgrade to HASS 2023.8 or greater. Thanks to @LennartF22 for the first implementation --- src/MqttHandleHass.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/MqttHandleHass.cpp b/src/MqttHandleHass.cpp index d613355ac..dd2f56088 100644 --- a/src/MqttHandleHass.cpp +++ b/src/MqttHandleHass.cpp @@ -115,9 +115,9 @@ void MqttHandleHassClass::publishField(std::shared_ptr inv, Ch String name; if (type != TYPE_DC) { - name = String(inv->name()) + " " + fieldName; + name = fieldName; } else { - name = String(inv->name()) + " CH" + chanNum + " " + fieldName; + name = "CH" + chanNum + " " + fieldName; } DynamicJsonDocument root(1024); @@ -166,7 +166,7 @@ void MqttHandleHassClass::publishInverterButton(std::shared_ptrname()) + " " + caption; + root["name"] = caption; root["uniq_id"] = serial + "_" + buttonId; if (strcmp(icon, "")) { root["ic"] = icon; @@ -205,7 +205,7 @@ void MqttHandleHassClass::publishInverterNumber( String statTopic = MqttSettings.getPrefix() + serial + "/" + stateTopic; DynamicJsonDocument root(1024); - root["name"] = String(inv->name()) + " " + caption; + root["name"] = caption; root["uniq_id"] = serial + "_" + buttonId; if (strcmp(icon, "")) { root["ic"] = icon; @@ -240,7 +240,7 @@ void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptrname()) + " " + caption; + root["name"] = caption; root["uniq_id"] = serial + "_" + sensorId; root["stat_t"] = statTopic; root["pl_on"] = payload_on; From fa7641f7156bfb4bc16d6f560d1235641af846ae Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Thu, 9 Nov 2023 22:30:35 +0100 Subject: [PATCH 17/26] Fix: Power not set to 0 when not reachable at EOD If the inverter polling was disabled before it got unreachable the values where not set to zero Fix: #1488 --- lib/Hoymiles/src/Hoymiles.cpp | 5 +++++ lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/Hoymiles/src/Hoymiles.cpp b/lib/Hoymiles/src/Hoymiles.cpp index 595a096de..d138e4f16 100644 --- a/lib/Hoymiles/src/Hoymiles.cpp +++ b/lib/Hoymiles/src/Hoymiles.cpp @@ -53,6 +53,11 @@ void HoymilesClass::loop() if (iv != nullptr && iv->getRadio()->isInitialized() && iv->getRadio()->isQueueEmpty()) { + if (iv->getZeroValuesIfUnreachable() && !iv->isReachable()) { + Hoymiles.getMessageOutput()->println("Set runtime data to zero"); + iv->Statistics()->zeroRuntimeData(); + } + if (iv->getEnablePolling() || iv->getEnableCommands()) { _messageOutput->print("Fetch inverter: "); _messageOutput->println(iv->serial(), HEX); diff --git a/lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp b/lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp index e5ece4092..3f0aed36b 100644 --- a/lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp +++ b/lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp @@ -55,9 +55,4 @@ bool RealTimeRunDataCommand::handleResponse(InverterAbstract* inverter, fragment void RealTimeRunDataCommand::gotTimeout(InverterAbstract* inverter) { inverter->Statistics()->incrementRxFailureCount(); - - if (inverter->getZeroValuesIfUnreachable() && !inverter->isReachable()) { - Hoymiles.getMessageOutput()->println("Set runtime data to zero"); - inverter->Statistics()->zeroRuntimeData(); - } } \ No newline at end of file From bd26d09564f99b8cf42da0c240bea1d141939104 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 15 Nov 2023 16:36:46 +0100 Subject: [PATCH 18/26] Fix: build action fails due to ModuleNotFoundError: No module named 'pkg_resources': Fix #1500 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d557ccc65..177e31673 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -77,7 +77,7 @@ jobs: - name: Install PlatformIO run: | python -m pip install --upgrade pip - pip install --upgrade platformio + pip install --upgrade platformio setuptools - name: Setup Node.js and yarn uses: actions/setup-node@v3 From 7b9ddb503383de13ec87175c8adfe1e80cf8ba44 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 15 Nov 2023 16:38:30 +0100 Subject: [PATCH 19/26] Upgrade actions/checkout from v3 to v4 --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 177e31673..a61a052d8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: name: Gather Environments runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Cache pip uses: actions/cache@v3 @@ -50,7 +50,7 @@ jobs: matrix: environment: ${{ fromJSON(needs.get_default_envs.outputs.environments) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Get tags run: git fetch --force --tags origin @@ -115,7 +115,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Build Changelog id: github_release From 3d837bdd29caf2e49dca722eb32538ce79d33dfd Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 15 Nov 2023 16:39:09 +0100 Subject: [PATCH 20/26] Upgrade actions/setup-node from v3 to v4 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a61a052d8..8ad72be47 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -80,7 +80,7 @@ jobs: pip install --upgrade platformio setuptools - name: Setup Node.js and yarn - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "18" cache: "yarn" From 07e2c5998b5630c486a56e8ca0d5519d9ddd7439 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 15 Nov 2023 16:40:04 +0100 Subject: [PATCH 21/26] Build webapp using nodejs v20 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8ad72be47..1bb23363f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -82,7 +82,7 @@ jobs: - name: Setup Node.js and yarn uses: actions/setup-node@v4 with: - node-version: "18" + node-version: "20" cache: "yarn" cache-dependency-path: "webapp/yarn.lock" From aea2afad292b9845a5646e4b4033d81cfb11a1c6 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 15 Nov 2023 16:45:10 +0100 Subject: [PATCH 22/26] webapp: Update dependencies --- webapp/package.json | 20 ++-- webapp/yarn.lock | 262 ++++++++++++++++++++++---------------------- 2 files changed, 141 insertions(+), 141 deletions(-) diff --git a/webapp/package.json b/webapp/package.json index fc0cf19fe..f7f91a575 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -17,26 +17,26 @@ "mitt": "^3.0.1", "sortablejs": "^1.15.0", "spark-md5": "^3.0.2", - "vue": "^3.3.7", - "vue-i18n": "^9.6.1", + "vue": "^3.3.8", + "vue-i18n": "^9.6.5", "vue-router": "^4.2.5" }, "devDependencies": { - "@intlify/unplugin-vue-i18n": "^1.4.0", + "@intlify/unplugin-vue-i18n": "^1.5.0", "@rushstack/eslint-patch": "^1.5.1", "@tsconfig/node18": "^18.2.2", - "@types/bootstrap": "^5.2.8", - "@types/node": "^20.8.9", - "@types/sortablejs": "^1.15.4", - "@types/spark-md5": "^3.0.3", - "@vitejs/plugin-vue": "^4.4.0", + "@types/bootstrap": "^5.2.9", + "@types/node": "^20.9.0", + "@types/sortablejs": "^1.15.5", + "@types/spark-md5": "^3.0.4", + "@vitejs/plugin-vue": "^4.4.1", "@vue/eslint-config-typescript": "^12.0.0", "@vue/tsconfig": "^0.4.0", - "eslint": "^8.52.0", + "eslint": "^8.53.0", "eslint-plugin-vue": "^9.18.1", "npm-run-all": "^4.1.5", "sass": "^1.69.5", - "terser": "^5.22.0", + "terser": "^5.24.0", "typescript": "^5.2.2", "vite": "^4.5.0", "vite-plugin-compression": "^0.5.1", diff --git a/webapp/yarn.lock b/webapp/yarn.lock index 1d64b2ee1..e17dcffd9 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -156,10 +156,10 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8" integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw== -"@eslint/eslintrc@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" - integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== +"@eslint/eslintrc@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.3.tgz#797470a75fe0fbd5a53350ee715e85e87baff22d" + integrity sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -171,10 +171,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.52.0": - version "8.52.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.52.0.tgz#78fe5f117840f69dc4a353adf9b9cd926353378c" - integrity sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA== +"@eslint/js@8.53.0": + version "8.53.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.53.0.tgz#bea56f2ed2b5baea164348ff4d5a879f6f81f20d" + integrity sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w== "@humanwhocodes/config-array@^0.11.13": version "0.11.13" @@ -211,20 +211,20 @@ source-map-js "^1.0.1" yaml-eslint-parser "^1.2.2" -"@intlify/core-base@9.6.1": - version "9.6.1" - resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.6.1.tgz#702f58e27b7af3f5410f8aafb665d408fd8d6c75" - integrity sha512-cjyCVQA22wN2qsoCjBuB+ID8lYCriDRwCLcr+gQzrbQIfhhXpFnX9NkKG15b7gu7Lo2tkzdZLoYlW3wQQRR5UA== +"@intlify/core-base@9.6.5": + version "9.6.5" + resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.6.5.tgz#af92cae122fb99e882b3d7f1433f682065a3e164" + integrity sha512-LzbGXiZkMWPIHnHI0g6q554S87Cmh2mmCmjytK/3pDQfjI84l+dgGoeQuKj02q7EbULRuUUgYVZVqAwEUawXGg== dependencies: - "@intlify/message-compiler" "9.6.1" - "@intlify/shared" "9.6.1" + "@intlify/message-compiler" "9.6.5" + "@intlify/shared" "9.6.5" -"@intlify/message-compiler@9.6.1": - version "9.6.1" - resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.6.1.tgz#bb394f71c9dea304db04ae55c8403a4a904345ee" - integrity sha512-kTOCEtKLg0pwz7Fh2z6to17jljy7kuZ1J77uGxCe3s+rixl1w0fXdaGvO59f9PwYSygR7Fe43I09EoSeuRW4UA== +"@intlify/message-compiler@9.6.5": + version "9.6.5" + resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.6.5.tgz#3a33882497417c63b23b012731d60a485c8e5558" + integrity sha512-WeJ499thIj0p7JaIO1V3JaJbqdqfBykS5R8fElFs5hNeotHtPAMBs4IiA+8/KGFkAbjJusgFefCq6ajP7F7+4Q== dependencies: - "@intlify/shared" "9.6.1" + "@intlify/shared" "9.6.5" source-map-js "^1.0.2" "@intlify/message-compiler@^9.4.0": @@ -240,15 +240,15 @@ resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.4.0.tgz#4a78d462fc82433db900981e12eb5b1aae3d6085" integrity sha512-AFqymip2kToqA0B6KZPg5jSrdcVHoli9t/VhGKE2iiMq9utFuMoGdDC/JOCIZgwxo6aXAk86QyU2XtzEoMuZ6A== -"@intlify/shared@9.6.1": - version "9.6.1" - resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.6.1.tgz#4672e7ac7a6088d5293a4bcef81156cf7de48b19" - integrity sha512-gD7r6xwG7II74JsJUXcVY0AvTyB5t7mlsB2WTot0ZncTLILQbyEeJtUOmvpvAXrh9TUr4jGPwhTC7SKtxjhl5A== +"@intlify/shared@9.6.5": + version "9.6.5" + resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.6.5.tgz#a81f384d804e99ceac55bb061c344f156bd96590" + integrity sha512-gD7Ey47Xi4h/t6P+S04ymMSoA3wVRxGqjxuIMglwRO8POki9h164Epu2N8wk/GHXM/hR6ZGcsx2HArCCENjqSQ== -"@intlify/unplugin-vue-i18n@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-1.4.0.tgz#581ac40567240209ed0851e27bfc7c9487cf55ec" - integrity sha512-RGDchCRBlDTyVVFgPA1C1XC1uD4xYN81Ma+3EnU6GQ8pBEreraX/PWdPXXzOB6k9GWCQHuqii3atYXhcH3rpSg== +"@intlify/unplugin-vue-i18n@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-1.5.0.tgz#fe2e67d50beefc4b67702a7bcec23062123cb52d" + integrity sha512-jW0MCCdwxybxcwjEfCunAcKjVoxyO3i+cnLL6v+MNGRLUHqrpELF6zQAJUhgAK2afhY7mCliy8RxTFWKdXm26w== dependencies: "@intlify/bundle-utils" "^7.4.0" "@intlify/shared" "^9.4.0" @@ -358,10 +358,10 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node18/-/node18-18.2.2.tgz#81fb16ecff0d400b1cbadbf76713b50f331029ce" integrity sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw== -"@types/bootstrap@^5.2.8": - version "5.2.8" - resolved "https://registry.yarnpkg.com/@types/bootstrap/-/bootstrap-5.2.8.tgz#7000cd03a3aaf9c4f804050ab23a25ba8e9b7eba" - integrity sha512-14do+aWZPc1w3G+YevSsy8eas1XEPhTOUNBhQX/r12YKn7ySssATJusBQ/HCQAd2nq54U8vvrftHSb1YpeJUXg== +"@types/bootstrap@^5.2.9": + version "5.2.9" + resolved "https://registry.yarnpkg.com/@types/bootstrap/-/bootstrap-5.2.9.tgz#5040df5d8d12cb9fb6268a33b8d87234af15e09a" + integrity sha512-Fcg4nORBKaVUAG4F0ePWcatWQVfr3NAT9XIN+hl1PaiAwb4tq55+iua9R3exsbB3yyfhyQlHYg2foTlW86J+RA== dependencies: "@popperjs/core" "^2.9.2" @@ -375,10 +375,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.8.9": - version "20.8.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.9.tgz#646390b4fab269abce59c308fc286dcd818a2b08" - integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg== +"@types/node@^20.9.0": + version "20.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.0.tgz#bfcdc230583aeb891cf51e73cfdaacdd8deae298" + integrity sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw== dependencies: undici-types "~5.26.4" @@ -387,15 +387,15 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.1.tgz#0480eeb7221eb9bc398ad7432c9d7e14b1a5a367" integrity sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg== -"@types/sortablejs@^1.15.4": - version "1.15.4" - resolved "https://registry.yarnpkg.com/@types/sortablejs/-/sortablejs-1.15.4.tgz#9ccaa84a64205defcbb78df63176a3722121ccd7" - integrity sha512-7oL7CcPSfoyoNx3Ba1+79ykJzpEKVhHUyfAiN5eT/FoeDXOR3eBDLXf9ndDNuxaExmjpI+zVi2dMMuaoXUOzNA== +"@types/sortablejs@^1.15.5": + version "1.15.5" + resolved "https://registry.yarnpkg.com/@types/sortablejs/-/sortablejs-1.15.5.tgz#c59e51765bc53c920192de0d0202f75b7ce4cb3f" + integrity sha512-qqqbEFbB1EZt08I1Ok2BA3Sx0zlI8oizdIguMsajk4Yo/iHgXhCb3GM6N09JOJqT9xIMYM9LTFy8vit3RNY71Q== -"@types/spark-md5@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/spark-md5/-/spark-md5-3.0.3.tgz#f76348ab1cb7536dbd9c583f092914505a654894" - integrity sha512-Uocq0wrVjF//W7IQGDvGm7K14MvzWNl95xjiQHZkmX+BX0deJyN7UKTaBUGUIINqzKwhi41ysk5aD4Q5d+ZDvw== +"@types/spark-md5@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/spark-md5/-/spark-md5-3.0.4.tgz#c1221d63c069d95aba0c06a765b80661cacc12bf" + integrity sha512-qtOaDz+IXiNndPgYb6t1YoutnGvFRtWSNzpVjkAPCfB2UzTyybuD4Tjgs7VgRawum3JnJNRwNQd4N//SvrHg1Q== "@typescript-eslint/eslint-plugin@^6.7.0": version "6.7.0" @@ -487,10 +487,10 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@vitejs/plugin-vue@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.4.0.tgz#8ae96573236cdb12de6850a6d929b5537ec85390" - integrity sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg== +"@vitejs/plugin-vue@^4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.4.1.tgz#5050895fb8b2258d2f228110849df4a8a94b9038" + integrity sha512-HCQG8VDFDM7YDAdcj5QI5DvUi+r6xvo9LgvYdk7LSkUNwdpempdB5horkMSZsbdey9Ywsf5aaU8kEPw9M5kREA== "@volar/language-core@1.10.7", "@volar/language-core@~1.10.5": version "1.10.7" @@ -534,13 +534,13 @@ estree-walker "^2.0.2" source-map-js "^1.0.2" -"@vue/compiler-core@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.7.tgz#865a5734c971686d9737d85a0c5a08de045b6162" - integrity sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ== +"@vue/compiler-core@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.8.tgz#301bb60d0245265a88ed5b30e200fbf223acb313" + integrity sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g== dependencies: "@babel/parser" "^7.23.0" - "@vue/shared" "3.3.7" + "@vue/shared" "3.3.8" estree-walker "^2.0.2" source-map-js "^1.0.2" @@ -552,13 +552,13 @@ "@vue/compiler-core" "3.2.47" "@vue/shared" "3.2.47" -"@vue/compiler-dom@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz#a245aa03f9bfcdb537a239bf02842072de0644c9" - integrity sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw== +"@vue/compiler-dom@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz#09d832514b9b8d9415a3816b065d69dbefcc7e9b" + integrity sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ== dependencies: - "@vue/compiler-core" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/compiler-core" "3.3.8" + "@vue/shared" "3.3.8" "@vue/compiler-dom@^3.3.0": version "3.3.2" @@ -568,17 +568,17 @@ "@vue/compiler-core" "3.3.2" "@vue/shared" "3.3.2" -"@vue/compiler-sfc@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz#219d04b3013c7b15fbc536e2279e07810b731cc2" - integrity sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw== +"@vue/compiler-sfc@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz#40b18e48aa00260950964d1d72157668521be0e1" + integrity sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA== dependencies: "@babel/parser" "^7.23.0" - "@vue/compiler-core" "3.3.7" - "@vue/compiler-dom" "3.3.7" - "@vue/compiler-ssr" "3.3.7" - "@vue/reactivity-transform" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/compiler-core" "3.3.8" + "@vue/compiler-dom" "3.3.8" + "@vue/compiler-ssr" "3.3.8" + "@vue/reactivity-transform" "3.3.8" + "@vue/shared" "3.3.8" estree-walker "^2.0.2" magic-string "^0.30.5" postcss "^8.4.31" @@ -608,13 +608,13 @@ "@vue/compiler-dom" "3.2.47" "@vue/shared" "3.2.47" -"@vue/compiler-ssr@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz#eff4a70f7ceb800d60e68d208b96a030c0f1b636" - integrity sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg== +"@vue/compiler-ssr@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz#136eed54411e4694815d961048a237191063fbce" + integrity sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w== dependencies: - "@vue/compiler-dom" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/compiler-dom" "3.3.8" + "@vue/shared" "3.3.8" "@vue/devtools-api@^6.5.0": version "6.5.0" @@ -655,48 +655,48 @@ estree-walker "^2.0.2" magic-string "^0.25.7" -"@vue/reactivity-transform@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz#eb9f5110af5085079b851d162205394bc790d539" - integrity sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA== +"@vue/reactivity-transform@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz#6d07649013b0be5c670f0ab6cc7ddd3150ad03f2" + integrity sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw== dependencies: "@babel/parser" "^7.23.0" - "@vue/compiler-core" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/compiler-core" "3.3.8" + "@vue/shared" "3.3.8" estree-walker "^2.0.2" magic-string "^0.30.5" -"@vue/reactivity@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.7.tgz#48b6671a45ba33039da2c0eb25ae702f924486a9" - integrity sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg== +"@vue/reactivity@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.8.tgz#cce8a03a3fd3539c3eeda53e277ba365d160dd4d" + integrity sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw== dependencies: - "@vue/shared" "3.3.7" + "@vue/shared" "3.3.8" -"@vue/runtime-core@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.7.tgz#c1eece1c98f936dc69dd0667d11b464579b128fd" - integrity sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ== +"@vue/runtime-core@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.8.tgz#fba5a632cbf2b5d29e171489570149cb6975dcdb" + integrity sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw== dependencies: - "@vue/reactivity" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/reactivity" "3.3.8" + "@vue/shared" "3.3.8" -"@vue/runtime-dom@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz#e7cf88cc01591fdf6e3164825554fdadc3137ffc" - integrity sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw== +"@vue/runtime-dom@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz#e2d7aa795cf50914dda9a951887765a594b38af4" + integrity sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA== dependencies: - "@vue/runtime-core" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/runtime-core" "3.3.8" + "@vue/shared" "3.3.8" csstype "^3.1.2" -"@vue/server-renderer@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.7.tgz#0cc3dc6ad39a54693e6e8f853caa3c7bb43b0364" - integrity sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw== +"@vue/server-renderer@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.8.tgz#9b1779010e75783edeed8fcfb97d9c95fc3ac5d2" + integrity sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg== dependencies: - "@vue/compiler-ssr" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/compiler-ssr" "3.3.8" + "@vue/shared" "3.3.8" "@vue/shared@3.2.47": version "3.2.47" @@ -708,10 +708,10 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.2.tgz#774cd9b4635ce801b70a3fc3713779a5ef5d77c3" integrity sha512-0rFu3h8JbclbnvvKrs7Fe5FNGV9/5X2rPD7KmOzhLSUAiQH5//Hq437Gv0fR5Mev3u/nbtvmLl8XgwCU20/ZfQ== -"@vue/shared@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.7.tgz#0091852fe5cc4237c8440fe32f3ab6bc920ae6d9" - integrity sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg== +"@vue/shared@3.3.8": + version "3.3.8" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.8.tgz#f044942142e1d3a395f24132e6203a784838542d" + integrity sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw== "@vue/tsconfig@^0.4.0": version "0.4.0" @@ -1130,15 +1130,15 @@ eslint-visitor-keys@^3.4.1: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== -eslint@^8.52.0: - version "8.52.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.52.0.tgz#d0cd4a1fac06427a61ef9242b9353f36ea7062fc" - integrity sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg== +eslint@^8.53.0: + version "8.53.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.53.0.tgz#14f2c8244298fcae1f46945459577413ba2697ce" + integrity sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.52.0" + "@eslint/eslintrc" "^2.1.3" + "@eslint/js" "8.53.0" "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -2368,10 +2368,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.22.0: - version "5.22.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d" - integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== +terser@^5.24.0: + version "5.24.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.24.0.tgz#4ae50302977bca4831ccc7b4fef63a3c04228364" + integrity sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -2512,13 +2512,13 @@ vue-eslint-parser@^9.3.1: lodash "^4.17.21" semver "^7.3.6" -vue-i18n@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.6.1.tgz#731d65074feda48a9f7c3dfabd94843065cf9ced" - integrity sha512-hjCmJzyHJBl+ru0jmC3RTEzyj+oDHP8IURTa003R6//4OTEY6pwz2scvvq2mM3C0UV4wD5XWH1xrtYQF7Ks5Fg== +vue-i18n@^9.6.5: + version "9.6.5" + resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.6.5.tgz#3a0bdc1e339ded633dc90aee640a7249efdfe3e5" + integrity sha512-dpUEjKHg7pEsaS7ZPPxp1CflaR7bGmsvZJEhnszHPKl9OTNyno5j/DvMtMSo41kpddq4felLA7GK2prjpnXVlw== dependencies: - "@intlify/core-base" "9.6.1" - "@intlify/shared" "9.6.1" + "@intlify/core-base" "9.6.5" + "@intlify/shared" "9.6.5" "@vue/devtools-api" "^6.5.0" vue-router@^4.2.5: @@ -2545,16 +2545,16 @@ vue-tsc@^1.8.22: "@vue/language-core" "1.8.22" semver "^7.5.4" -vue@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.7.tgz#972a218682443a3819d121261b2bff914417f4f0" - integrity sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA== +vue@^3.3.8: + version "3.3.8" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.8.tgz#532ff071af24f6a69e5ecc53a66858a9ee874ffc" + integrity sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w== dependencies: - "@vue/compiler-dom" "3.3.7" - "@vue/compiler-sfc" "3.3.7" - "@vue/runtime-dom" "3.3.7" - "@vue/server-renderer" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/compiler-dom" "3.3.8" + "@vue/compiler-sfc" "3.3.8" + "@vue/runtime-dom" "3.3.8" + "@vue/server-renderer" "3.3.8" + "@vue/shared" "3.3.8" webpack-sources@^3.2.3: version "3.2.3" From ac0655ea648ad202c33b4922fa749b713bef87bf Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 15 Nov 2023 16:47:04 +0100 Subject: [PATCH 23/26] Doc: Add additional breaking changes --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6d105faad..fbd05ed2c 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,8 @@ Compatibility with OpenDTU is most likly related to the serial number of the inv Generated using: `git log --date=short --pretty=format:"* %h%x09%ad%x09%s" | grep BREAKING` ```code +* 71d1b3b 2023-11-07 BREAKING CHANGE: Home Assistant Auto Discovery to new naming scheme +* 04f62e0 2023-04-20 BREAKING CHANGE: Web API Endpoint /api/eventlog/status no nested serial object * 59f43a8 2023-04-17 BREAKING CHANGE: Web API Endpoint /api/devinfo/status requires GET parameter inv= * 318136d 2023-03-15 BREAKING CHANGE: Updated partition table: Make sure you have a configuration backup and completly reflash the device! * 3b7aef6 2023-02-13 BREAKING CHANGE: Web API! From 22da8ff4c76966eb52e1269c8927ea4b27e6a7c7 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 15 Nov 2023 17:03:12 +0100 Subject: [PATCH 24/26] Doc: Fix readme syntax errors --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fbd05ed2c..222dc7c51 100644 --- a/README.md +++ b/README.md @@ -277,9 +277,10 @@ A documentation of all available MQTT Topics can be found here: [MQTT Documentat A documentation of the Web API can be found here: [Web-API Documentation](docs/Web-API.md) ## OpenDTU Breakoutboard -We sat down together and designed a PCB. This is 100% compatible with openDTU and has space for all extensions such as display and LEDs. You can find the PCB design here: https://github.com/marove2000/openDTU_BreakoutBoard -A ready to solder kit can be found here: https://shop.blinkyparts.com/en/OpenDTU-Your-evaluation-for-your-balcony-solar-system/blink237542 +We sat down together and designed a PCB. This is 100% compatible with openDTU and has space for all extensions such as display and LEDs. You can find the PCB design here: + +A ready to solder kit can be found here: OpenDTU Breakout Board with CaseOpenDTU Breakout Board with Case From 352fec539a44ab3204f5c64bf8a80c85c902827b Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 15 Nov 2023 17:58:43 +0100 Subject: [PATCH 25/26] Doc: Add hint regarding wiki --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 222dc7c51..d27d23f45 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,11 @@ If you are upgrading from a version before 15.03.2023 you have to upgrade the pa This project was started from [this](https://www.mikrocontroller.net/topic/525778) discussion (Mikrocontroller.net). It was the goal to replace the original Hoymiles DTU (Telemetry Gateway) with their cloud access. With a lot of reverse engineering the Hoymiles protocol was decrypted and analyzed. +## Documentation + +Currently the documentation is separated into different locations (this README.md, the `doc` folder and the [Wiki](https://github.com/tbnobody/OpenDTU/wiki)). +This is not very nice and it's planned to move everything into the [Wiki](https://github.com/tbnobody/OpenDTU/wiki). + ## Screenshots Several screenshots of the frontend can be found here: [Screenshots](docs/screenshots/README.md) From 527c2eaf4a1f07223d012f4cbfc4428dc0226966 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 15 Nov 2023 18:00:43 +0100 Subject: [PATCH 26/26] webapp: add app.js.gz --- webapp_dist/js/app.js.gz | Bin 172347 -> 172363 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 6a1829dc14f7f539aacf552ba48619b8f5625e47..7218af966607d5d145bed3de0a329a41abe577a1 100644 GIT binary patch delta 143466 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�(*eoYER_*`2H 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

    &4OybdMftr#C**xZIxpG1NasM@sT`ezXu62+93_ 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