~={green}Замечания от заказчика=~ 1. В логе фигурируют аварии, которых не может быть. "Срабатывание EPO", "Ош. подкл. вх. напряжения" ~={yellow}Question.=~ Отключить функции. Событие "Срабатывание EPO" формируется в модуле ups_monitor.c В отдельной функции UPS_EPOMonitor. Нужно ли ее отключить? ```c #define EPO_MONITOR ``` Событие "Ош подкл вх напр" формируется в модуле ups_monitor.c В отдельной функции UPS_PhaseFailMonitor. Нужно ли ее отключить? ```c #define PHASE_FAIL_MONITOR ``` 2. При запуске теста АКБ в логе информация о смене режима работы, но не о тесте. В syslog правильно. ~={yellow}Question.=~ В логе в событиях контроллера не отображается режим работы "тест АКБ" (Вход в тест, выход из теста.) 3. В веб-интерфейсе отображается входная частота, в случае оффлайн ИБП особого смысла не имеет. Логичнее указывать только частоту выходного напряжения. ~={yellow}Question.=~ Существует множество режимов работы контроллера ИБП. - Power on - Standby - Bypass - OnLine - Battery - Battery test - Fault - ECO - Converter - Shutdown Необходимо уточнить в каких режимах показывать входную частоту и какое значение выводить? Во всех режимах кроме Bypass выводить 0 в параметре "входная частота". 4. Проблема IAP. ~={red}Open.=~ 5. Полная мощность ИБП 400, а не 500. ~={green}Fixed.=~ ```c RoTeK-swt-BT-BT-6721-signals-MIB::upsFullPower.0 = STRING: "400" // Этот параметр формируется в функции: /**   * @brief Полная мощность АКБ   */ void GetUPSPowerStr(char *str, uint8_t *len) {     sprintf(str, "%d", (int32_t)sSettings.UPS_Setting.ups_power);     *len = strlen(str); } // Решение. Изменил значение параметра sSettings.UPS_Setting.ups_power в settings_api_bt6721.c /**   * @brief  Настройки ИБП по умолчанию   */ void SETTINGS_SetUPSSettingsDef(void) {   sSettings.UPS_Setting.Ucellmin = 1.89;   sSettings.UPS_Setting.Ucellmax = 2.36;   sSettings.UPS_Setting.Uakb = 12;   sSettings.UPS_Setting.common_capacity = 15;   sSettings.UPS_Setting.ups_power = 400;   sSettings.UPS_Setting.set_data = 0;   sSettings.UPS_Setting.life_time = 5;   sSettings.UPS_Setting.type_ups = ups_kestar; } ``` 6. Убрать отправку fault в конце разряда АКБ. ~={yellow}Question.=~ Не понял. Отправку куда? Это трап. 7. Сообщение в лог "авария входного напряжения 220В авария" при возобновлении питания. ~={red}Open.=~ ```c // Запись в журнал формируется в функции: /**   * @brief  Мониторинг бита LainFail   */ void UPS_LineFailMonitor(void) { #ifdef LINE_FAIL_MONITOR   static bool isValueRecv = false;   static uint8_t lineFailOldState = 0;   uint8_t lineFailCurrent;   char log_string[50];   uint8_t len; #if defined RELAY_AC_PRESENT   uint8_t i = 0;   static uint8_t OldROtype_Sourse[OUTPUTS_TOTAL_COUNT] = {0};   uint8_t CurrROtype_Sourse[OUTPUTS_TOTAL_COUNT] = {0};   for(i = 0; i < OUTPUTS_TOTAL_COUNT; i ++)     CurrROtype_Sourse[i] = sSettings.sRelays[i].ro_type_source; #endif #ifdef VAC_IN_MONITOR   lineFailCurrent = ((UPS.Status >> 7) & 0x01);   lineFailCurrent |= UPS_VACinputRangeAlarm(); #else   lineFailCurrent = (UPS.Status >> 7) & 0x01; #endif   if (!isValueRecv) {     isValueRecv = true;     lineFailOldState = lineFailCurrent;     if (lineFailCurrent != 0){       memset(log_string, 0, sizeof(log_string));       strcat(log_string, "Авария");       len = strlen(log_string);       sprintf(&log_string[len], " (%0.1f В)", UPS.VAC_in);         log_event_data(LOG_ALARM_LINE, log_string);       SNMP_SendUserTrap(LINE_ALARM);       syslog(SYSLOG_ERROR, "Авария сети (%0.1f В)", UPS.VAC_in);       flUpdateLog = true; #if defined RELAY_AC_PRESENT       relay_setup_log(CurrROtype_Sourse, AC_PRESENT, 1); #endif     }     else{ #if defined RELAY_AC_PRESENT       relay_setup_log(CurrROtype_Sourse, AC_PRESENT, 0); #endif       log_event_data(LOG_ALARM_LINE, "Норма");       SNMP_SendUserTrap(LINE_NORM);       syslog(SYSLOG_NOTICE, "Сеть в норме (%0.1f В)", UPS.VAC_in);       flUpdateLog = true;     }     return;   } ``` 7. В syslog именует выходное напряжение входным. ~={green}Fixed.=~ ```c // ups_monitor.c // Поменял "входное" на "выходное" SNMP_SendUserTrap(VAC_HIGH_OUTPUT_ALARM); syslog(SYSLOG_ERROR, "Высокое выходное напряжение (%0.1f В)", VACoutputCurrent); ``` Для решения этой проблемы нужен ИБП и контроллер в режиме отладки.