From f203a971b0ff5665c407e50404c994f51da1fd6a Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 9 Oct 2023 19:38:22 +0200 Subject: [PATCH] Feature: Added Descriptions for Event Log Messages as shown in #121 --- lib/Hoymiles/src/parser/AlarmLogParser.cpp | 54 ++++++++++++++++++---- lib/Hoymiles/src/parser/AlarmLogParser.h | 2 +- 2 files changed, 45 insertions(+), 11 deletions(-) diff --git a/lib/Hoymiles/src/parser/AlarmLogParser.cpp b/lib/Hoymiles/src/parser/AlarmLogParser.cpp index 2a6527ac3..92e670e6a 100644 --- a/lib/Hoymiles/src/parser/AlarmLogParser.cpp +++ b/lib/Hoymiles/src/parser/AlarmLogParser.cpp @@ -9,8 +9,31 @@ const std::array AlarmLogParser::_alarmMessages = { { { AlarmMessageType_t::ALL, 1, "Inverter start" }, { AlarmMessageType_t::ALL, 2, "DTU command failed" }, - { AlarmMessageType_t::ALL, 73, "Temperature >80°C" }, // https://github.com/tbnobody/OpenDTU/discussions/590#discussioncomment-6049750 + { 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" }, @@ -27,7 +50,10 @@ const std::array AlarmLogParser::_alarmMe { 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" }, @@ -52,20 +78,21 @@ const std::array AlarmLogParser::_alarmMe { 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" }, - { AlarmMessageType_t::ALL, 302, "Hardware error code 302" }, - { AlarmMessageType_t::ALL, 303, "Hardware error code 303" }, - { AlarmMessageType_t::ALL, 304, "Hardware error code 304" }, - { AlarmMessageType_t::ALL, 305, "Hardware error code 305" }, - { AlarmMessageType_t::ALL, 306, "Hardware error code 306" }, - { AlarmMessageType_t::ALL, 307, "Hardware error code 307" }, - { AlarmMessageType_t::ALL, 308, "Hardware error code 308" }, + { 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" }, @@ -79,10 +106,17 @@ const std::array AlarmLogParser::_alarmMe { 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" }, + { 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" }, } }; diff --git a/lib/Hoymiles/src/parser/AlarmLogParser.h b/lib/Hoymiles/src/parser/AlarmLogParser.h index a2c6b348f..8cdeb0645 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 77 +#define ALARM_MSG_COUNT 111 struct AlarmLogEntry_t { uint16_t MessageId;