Программа для работы с ИБП по протоколу Megatec (его используют многие UPS Ippon, Mustek, Sven и т.п.), ключевые возможности и отличия от аналогичного софта: |
— потребляет мало ОЗУ и минимум процессорного времени; |
— не требует инсталляции, не требует никаких драйверов, библиотек, framework и прочих дополнительных компонентов; |
— ситуация с выдёргиванием USB-кабеля из ИБП продумана и обрабатывается; |
— возможно управление сразу несколькими ИБП подключенными к одному компьютеру; |
— обработка событий: нет напряжения, запас заряда ниже указанного, батарея села, питание восстановлено, ИБП потерян, ИБП неисправен; |
— уведомления по email (встроенный SMTP-клиент) и запуск файлов (для скриптов или выключения); |
— терминальная консоль для USB интерфейса для ручного управления ИБП (аналогов этому нет!) — можно самостоятельно различные инженерные команды вводить. |
Поскольку это Beta-версия — её надёжность не гарантируется!



FAQ
Почему заряд батареи по расчёту достигает не точно 100%, а около 100% (например 95% или 105%)? Но по опросу — 100%.
Потому что ИБП по каким-то своим причинам (может алгоритмы сохранения батарей) в разное время заряжает батареи до немного разного напряжения.
Например SmartWinner 2000 — заряжает от уровня 55V до 58V. Может в зависимости от предшествующего разряда, для сохранения батарей.
А расчёт уровня делается по минимальному и максимальному значению напряжения. Если же максимальное значение плавает — то и расчёт процентов тоже плавает.
Встроенная команда опроса (BL) — очевидно при каждом окончании заряда калибруется на 100%.
Но для самостоятельного расчёта автоматическая калибровка невозможна — ИБП не имеет команд сообщающих о том что он в состоянии заряда.
Как сделать автоматическое включение компьютера после восстановления электричества?
Запрограмировать в Оповещениях: Выключение компьютера при помощи shutdown /s /f,
прикинуть сколько времени это занимает — например 2-3 минуты максимум, активировать функцию «Отключить ИБП через 3 минуты».
Кстати, не все ИБП разрешают себя просто выключить, некоторые требуют обязательно указать и время включения.
Для таких надо ещё активировать «И снова включить ИБП через», указать там какое-нибудь время когда электричество точно дадут
(ну в городе например это минут 300 (5 часов), за городом может 3000 (два дня)).
В терминале ИБП-команд ввести команду AR1 — для активации режима автовключения ИБП после восстановления электричества.
В BIOS поискать опции типа AC Back Function, After Power Failure, PWRON After PWR-Fail и настроить её для включения.
Пароль на вход в Windows — либо убрать, либо настроить в планировщике запуск нужных программ
(однако они будут запущены без доступа к рабочему столу и после входа в Windows реального пользователя — они будут недоступны).
Итак, при разрядке батарей — UPS Lite Manager запрограммирует отключение ИБП и корректно завершит работу Windows, затем отключится ИБП.
После восстановления питания — ИБП включится, и компьютер тоже включится.
Но, следует учесть несколько возможных коллизий в этой схеме:
— если электричество восстановится в интервале между началом завершения работы Windows и запрограммированным (на 3-5 минут) отключением ИБП.
ИБП тогда выключится, и включится только через несколько часов — в запрограммированное время включения.
— если электричество пропадает и восстанавливается несколько раз подряд. ИБП может оказаться критически разряжен в процессе запуска Windows,
и аварийно отключится без программирования включения.
Какие есть другие программы и драйвера для этих ИБП?
Перед тем как написать свою — я пробовал следующее:
WinPower,
UPS Assistant,
Energy Controller 2,
Ippon Monitor.
Какие есть особенности работы программы для ИБП на серверах?
В связи с тем что сервер может работать без входа пользователя, на серверах в этом случае возникает проблема с запуском программы. В идеале надо для сервера делать программу из двух частей — служба (которая работает всегда и без входа пользователя) и конфигуратор (который запускает пользователь). Но, UPS LM создавался совсем не для этого, и у него единая часть. Однако в UPS LM сделан детект — работает ли он от реального пользователя (интерактивный логон — LogonInteractive) или запущен планировщиком от имени пользователя (пакетный логон — LogonBatch). Если на сервере запускать программу Планировщиком, от имени пользовательского логина — то программа (UPS_LM.exe) будет запущена, но, запуск будет с правами пакетного логона. Программа в этом случае не может взаимодействовать с рабочим столом, и не может взаимодействовать с пользователем (когда сам настоящий пользователь залогинится). UPS_LM.exe будет виден только в диспетчере задач, однако он сможет выводить MsgBox-уведомления через сервер (функцией WTSSendMessage вместо MessageBox) и обрабатывать все действия (запуски файлов, отправка почты). При запуске файлов надо учесть что файлы тоже будут запускаться в контексте невидимой сессии и тоже не смогут взаимодействовать с залогиненным реальным пользователем. Для того чтобы настраивать что-либо в UPS_LM запущенным планировщиком от имени пользователя — надо этот UPS_LM.exe закрыть в диспетчере задач и запустить нормальным образом.
Требования к компьютеру и ИБП
Требования к системе — любая версия от WindowsXP SP3 по Windows11, 32 или 64 битная. |
Аналогичные серверные версии Windows тоже поддерживаются. |
Подключение бесперебойника только через USB (работа через COM/RS232 не поддерживается), |
предполагается работа с ИБП со следующими PNP кодами (ИД оборудования): |
HID\VID_06DA&PID_0003, |
HID\VID_0665&PID_5161, |
HID\VID_05B8&PID_0000, |
HID\VID_0F03&PID_0001. |
Помимо этого, в настройках можно вручную задать любые коды VID/PID. |
Насчёт поддержки других ИБП — обращайтесь по email, если особых отличий нет — можно добавить… |
Данная версия проверялась только на Ippon Smart Winner (старого поколения), на всех прочих моделях пока может не работать — будет исправляться по мере надобности. |
Ippon Smart Winner нового поколения (который с дисплеем) — не поддерживается. |
Программа работает с любым ИБП который определяется как стандартное USB-HID устройство и отвечает на команду Q1, QS или Q4. |
Справочная информация по протоколам UPS
2016.04.03 | |
Краткое описание протокола Megatec/Ippon и его модификации (собранное по обрывкам документации в интернете, исследованиям некоторых прошивок ИБП, и снифферами при работе штатного софта) команды которые можно вводить в терминале: |
|
Команда | Описание |
---|---|
AR?, AR0, AR1 | Режим автовключения выключенного ИБП при восстановлении питания. |
AT?, AT0, AT1 | Выключение/включение автотеста (на Smart Winner он раз в неделю запускается). |
BL? | Узнать уровень заряда батарей в процентах, ответ — 3-значное число, например — 098 |
C | Отменить выключенное состояние (включить немедленно) или запланированное выключение. Отменяет действие команд Snn, SnnRmmmm Разумеется это реально только если компьютер сам не питается от этого выключенного ИБП. |
CBnn | ? |
CT | Прервать тест |
CTL | ? |
EB?, EBnn | Узнать кол-во внешних батарей, установить кол-во внешних батарей (например EB01 — 1 батарея). Предположительно это влияет на расчёт ёмкости в команде BL? и зарядный ток. |
EF? | Пишет допустимые отклонения частоты в ECO mode, в процентах. Например — (005 005 |
EV? | Пишет допустимые отклонения напряжения в ECO mode, в процентах. Например — (005 005 |
F | Узнать некоторые параметры настроек, в ответ строка: #MMM.M QQQ SS.SS RR.R # — маркер MMM.M — номинальное напряжение (220.0, 230.0, и т.п.) QQQ — ? SS.SS — стандартное напряжение батареи (48.0 например) RR.R — номинальная частота (50.0) |
FLT | ? |
FUNC? | На некоторых ИБП возвращает 7-значное число, вероятно какие-то флаги опций или возможностей. Например — (0000078 |
FW? | Версия прошивки. |
GR?, GR0, GR1 | В настройках WinPower функция Energy Saving управляет этими командами. |
I | Узнать производителя и модель, в ответ строка: #Company_Name UPS_Model Version |
IP?, IPN, IPW, IPG | Узнать или установить режим допустимых отклонений: нормальный(N)/широкий(W)/генератор(G). Команда переключает соответствующие светодиоды на панели (у Ippon Smart Winner). |
LT? | ? |
PD | ? |
PE | ? |
Q | Звук разрешить/запретить. Команда циклически переключает текущий режим звук. Посмотреть текущий режим звука можно в Q1. |
Q1 | Самая главная команда, для опроса текущего состояния. Софт её ежесекундно запрашивает. В ответ приходит такая строка: (MMM.M NNN.N PPP.P QQQ RR.R SS.S TT.T abcdefgh ( — маркер MMM.M — входное напряжение NNN.N — вроде бы регистр запоминающий напряжение перед сбоем PPP.P — выходное напряжение QQQ — текущая нагрузка в процентах RR.R — текущая частота сети SS.S — текущее напряжение батарей (может быть как суммарным, так и расчётным на 1 элемент) TT.T — температура a — сбой входного напряжение, работа от батареи b — батарея сильно разряжена c — AVR d — неисправность e — тип ИБП (1 Standby, 0 Online) f — выполняется тест g — ИБП выключен программно (командой S) h — звуковые сигналы разрешены |
Q4 | Ещё один вариант для опроса текущего состояния. В ответ приходит такая строка: (MMM.M ???.? ???.? NNN.N PPP.P ??? QQQ RR.R ??? ??? SS.S TT.T flags flags — разные флаги состояний: E — выполняется тест A — сбой входного напряжение, работа от батареи C — Bypass/AVR L — ? M — ? I — ? Некоторые модели поддерживающие Q4 — поддерживают и Q1. |
Q2 Q3 Q5 Q6 Q7 QS D QGS | Тоже варианты опроса текущего состояния, у некоторых моделей. |
QA | ? |
QBL | Пишет информацию о батарее, например — (026.5 02 01 068 255 1 — напряжение батареи, 2 — кол-во батарей последовательно, 3 — кол-во батарей параллельно, 4 — проценты ёмкости, 5 — расчётное время до нуля, минуты. |
QI | Серийник |
QLDL | Статистика по минимальному и максимальному уровню нагрузки. |
QMOD | Код текущего состояния (тест, от батареи, AVR, и т.п. — их более десятка) |
QMD | Паспортные данные об ИБП — мощность, кол-во батарей, вход, выход, и т.п. |
QMF | Производитель |
QMT | ? |
QOF | Пишет режим выходной частоты, например — (50.0 |
QP | Допустимые границы входного напряжения и частоты, при выходе за которые будет переход на батарею. Например — (45.0 55.0 184 264 EpbkcrafDo — допустим диапазон 45…55Гц, 184…264В, и какие-то флаги. |
QRI | Паспортные данные об ИБП: номинальное выходное напряжение, допустимый ток, напряжение батарей, частота тока. |
QVFW | Версия прошивки. |
Snn | Выключить питание через nn минут (.1, …, .9, 01…99). Например S.5 выключит питание через 30 секунд, S05 выключит питание через 5 минут. |
SnnRmmmm | Выключить питание через nn минут (.1, …, .9, 01…99) и включить через mmmm минут (0001…9999). Не все поддерживают время менее минуты, и не все поддерживают команду Snn. Например Winner поддерживает SnnRnnnn, но не поддерживает Snn. |
SASV07? | ? |
SD? SD0 SD1 | ? |
SR | ? |
T | Тест на 10секунд |
TL | Тест до разрядки батареи |
Tnn | Тест на указанное время, nn — минуты 01…99. |
V | Отвечает настройки режима AVR — например — 165 200 220 240 275 где соответственно указаны: 1 — нижняя граница перехода на батарею, 2 — нижняя граница включения повышающей ступени AVR, 3 — номинальное напряжение, 4 — верхняя граница включения понижающей ступени AVR, 5 — верхняя граница переходя на батарею. |
V? | Пишет режим выходного напряжения, например — (V220 |
V220, V230, V240 | Переключает выходное напряжение (и соответствующий светодиод). Проверка — в команде F либо V?. |
WA | ? |
WH | ? |
WM | Отвечает какую-то цифру, например — (3 Предположительно какой-то флаг режимов работы ИБП. |
Команды со «?» обычно выводят какие-либо данные — вроде нет команд с «?» которые бы могли что-то изменить в ИБП. Остальные команды — следует использовать аккуратно, т.к. они могут внести какие-либо изменения. Если ИБП не знает вводимую команду — он отвечает эту же команду, нету общего слова о незнакомой команде. Если ИБП команду принял успешно — он может не ответить ничего (если команда не вопросительная, а должна что-то изменить в ИБП). Некоторые модели ИБП отвечают «NAK» на неподдерживаемую команду, и «ACK» на поддерживаемую. |
|
Подробные описания этих и других команд можно найти на сайте Network UPS Tools. |
История развития UPS LM
v.1.6.0.45 (2023.05.22) | Оптимизация алгоритма опроса; Мелкие внутренние доработки; Добавлена возможность локализации (использование внешних lng-файлов); Исправлена ошибка со срабатыванием оповещения по уровню напряжения батарей; Добавлена поддержка новых UPS-протоколов (Voltronic P/T — QS HEX); Добавлены новые команды опроса ёмкости батареи (DQ1, QBV); Добавлен эмулятор ответов UPS (Shift+About); Переход на OpenSSL v3.1 (для работы email-уведомлений не забудьте обновить OpenSSL); Доработки лога; Новые команды в командной строке — запуск теста, включение/выключение звука. |
v.1.5.2.31 (2022.10.11) | Мелкие оптимизации в сборке, совместимость с NX/DEP и ASLR. |
v.1.5.1.30 (2022.05.24) | Исправлена проблема с отображением опроса BL?-команды на ИБП которые на самом деле не поддерживают эту команду; Исправлена проблема с запуском просмотра лога при длинных путях; Запуск просмотра лога с Shift — открывает лог состояний ИБП; Оптимизирован формат справки команд (поэтому размер файла стал значительно меньше). |
v.1.5.0.27 (2022.05.04) | Исправлена ошибка приводящая к постоянному Out of sync request Qx на некоторых моделях ИБП (которые формируют строку ответа с нечётным кол-вом байт или с 0x00 байтом). Добавлена проверка доступности обновлений (только вручную, из меню о программе). Поддержка экранов с DPI масштабированием (теперь шрифты не искажаются). Запись в лог входа/выхода в спящий режим. Мелкие доработки. |
v.1.4.0.25 (2022.01.10) | Исправлена проблема с запуском файлов с ключами (опции оповещений надо заново настроить); Добавлена настройка поля темы для email (актуально для случаев когда несколько ИБП подключены, чтобы различать почту от них); Разные мелкие исправления потенциальных ошибок. |
v.1.3.0.22 (2021.02.14) | Поддержка командной строки (пока только команда для выключения/включения ИБП поддерживается, для справки см. ups_lm /?). Мелкие доработки. |
v.1.2.5.21 (2020.09.07) | Многочисленные доработки в почтовом клиенте (SMTP): теперь работает OpenSSL 1.1.1g (и есть TLS 1.3), поправлен формат заголовка from (иначе на некоторых серверах была ошибка 555 5.5.2 Syntax error), отладочный лог email имеет ещё один режим — запись только в случае ошибок, разные мелкие доработки в email, база серверов для автонастройки обновлена — работоспособность проверена на бесплатных почтовых службах AOL, MailRu, Yandex, GMail, GMX, Rambler, OfficeCom/Live. |
v.1.2.4.20 (2018.11.11) | Добавлена поддержка некоторых ИБП которые раньше не работали из-за BL?-команды, добавлена фильтрация ложных низких напряжений в статистике, добавлен отладочный лог. |
v.1.2.3.15 (2018.03.28) | Мелкие доработки, функция проверочной отправки email в настройках. |
v.1.2.2.11 (2017.09.30) | Мелкие доработки, поддержка работы через SrvAny.exe (пока не полная). |
v.1.2.0.9 (2017.06.11) | Борьба с глюками Касперского — были ложные детекты на UPX. |
v.1.2.0.7 (2017.06.06) | Исправлена ошибка при отправке email, исправлена ошибка при вводе длинных ИБП-команд, добавлена возможность выключать ИБП по событиям. |
v.1.1.0.6 (2017.04.28) | Мелкие доработки. |
v.1.1.0.5 (2016.12.18) | Мелкие доработки, исправления сообщений об ошибках, переход на OpenSSL v1.1 (для email-клиента). |
v.1.0.0.4 (2016.08.03) | Мелкие доработки. |
v.1.0.0.3 (2016.04.03) | Первая публичная версия. |
Скачать “UPS_LM_v160.rar” – 56,16 КБВерсия 1.6.0.45, 2023-05-22
Скачать “UPS_LM_v152.rar” – 47,23 КБВерсия 1.5.2.31, 2022-10-11
Скачать “UPS_LM_v151.rar” – 42,19 КБВерсия 1.5.1.30, 2022-05-24
Скачать “UPS_LM_v150.rar” – 52,56 КБВерсия 1.5.0.27, 2022-05-04
Скачать “UPS_LM_v140.rar” – 51,42 КБВерсия 1.4.0.25, 2022-01-10