Ups v2, v3 + wb 8.5 shutdown

Приветствую

Есть несколько сетапов, где используется wb8.5 и питается в одних случаях через ups v2 в других через ups v3
Это всё работает, вопрос вот какой - можно ли как то настроить чтобы при критически низком уровне заряда система штатно делала shutdown чтобы все процессы завершились, файлы записались, а потом когда вернётся внешнее питание и батареи внутри ups начнут заряжаться - включился уже wb?
Что то по типу как ещё старые apc smart ups делали по настройкам, при низком уровне заряда apcupsd гасил систему, а внутри самого упса была настройка при каком минимальном заряде батареи подключать нагрузку обратно…

Добрый день.

Готовой настройки, как в apcupsd, нет, но такое поведение можно сделать правилом wb-rules.

С WB-UPS v.3 правило следит за контролами Battery Status (Discharging – работа от батареи) и Battery Charge Level. При достижении порога оно выключает контроллер командой rtcwake -m off -s <секунды> через функцию runShellCommand. Обычный poweroff здесь не подойдёт. Для контроллера WB-UPS – это внешнее питание, а при внешнем питании WB8.5 по команде poweroff без установленного будильника перезагружается, а не выключается. Подробнее – в описании Embedded Controller, там же есть примеры rtcwake.

У WB-UPS v.2 нет Modbus, поэтому состояние берётся с его выходов. Выход Status замыкается при работе от аккумуляторов, его можно завести на вход A1–A4 контроллера. Напряжение батареи Vb можно завести на аналоговый вход A1–A4: 6.0 В – разряжен, 8.4 В – заряжен. Показание может быть занижено из-за входного сопротивления 100 кОм. Схема подключения – в разделе «Монтаж». Правило выключает контроллер той же командой через заданное время работы от батареи или по порогу Vb.

ммм… но это же не решает начальную проблему
вот падает заряд батареи, через правила вижу, допустим, что остаток 10% и отправляю команду rtcwake -m off -s 300
судя по документации rtcwake - “ACPI state S5 (Poweroff). This is done by calling ‘/sbin/shutdown’. Not officially supported by ACPI, but it usually works.”
и потом влечение через 300 секунд
Но, если за это время внешнее питание, которое начнёт заряжать аккамулятор wb-ups не появится, но т.к. мы убрали нагрузку, то аккумулятор перестанет разряжаться и напряжение на выходе ups останется, то wb просто начнёт загружаться
в лучшем случае wb загрузится, правила увидят низкий заряд и снова его отключит с пробуждением
а в худшем - или не сможет в какой то из циклов загрузиться или выключиться нормально…

Будильник здесь – запасной вариант, 300 секунд для него мало, лучше ставить несколько часов. Если ИБП разрядится и отключит выход, контроллер включится сам при возврате питания, а по будильнику – если питание вернулось раньше.

Чтобы цикл «включился – увидел низкий заряд – выключился» не оборвался, порог нужен с запасом. Заряд правило должно проверять сразу после запуска.

Без будильника это умеет модуль WBMZ6-BATTERY внутри WB8.5: при работе от него poweroff выключает контроллер полностью, а при появлении питания контроллер включается сам. Но он питает только контроллер и подключённые к нему устройства до 3.5 Вт.

вот был бы тогда вт… (с)

если б знать продолжительно обесточивания - то да, вариант
а т.к. это штука очень непредсказуемая, то не вариант

понятно что с v2 уже ничего не сделать, а вот с v3 есть вариантики…
добавить пару регистров и команд, вроде

  • обесточить нагрузку через ХХ секунд, чтобы контроллер успел уснуть
  • подать напряжение на нагрузку при подаче входного напряжения через YY секунд (по умолчанию 0 = сразу для обратной совместимости)

и это прям решает задачу
в правилах увидели что заряд низкий
отправили команду в ups чтобы снял питание
ушли в sleep
а когда питание вернулось, ups подаёт питание на выход и wb загружается

профит!

WB-UPS v.3 подаёт входное напряжение на выход сразу, как только оно появляется. Отключить нагрузку командой тоже можно – регистром «Управление нагрузкой в режиме резервного питания», но он срабатывает без задержки, и контроллер на этом же ИБП обесточится сразу. Отложенного отключения в WB-UPS v.3 нет, поэтому остаются варианты, которые я описал выше.

Если возникнут трудности – обращайтесь.

Речь про реализацию нового функционала же! Сейчас нет, но сделать можно, благо он умеет прошиваться без танцев с бубном

Вашу идею передал в список предложений.