| содержание | статические команды | динамические команды | команды управления | управление питанием UPS+ATX |
Эта группа команд дает статичную информацию о устройстве (например, тип, ревизию фирмваре, и др);
| Name | W Result |
| Command | :W#13 |
| Response | :W#13#10[XX]#13#10 |
| Comment | Позволяет определить, имеем мы Smart или Unison Ups (см ниже) |
| Name | Model Number |
| Command | :L#13 |
| Response | :L#13#10[XX]#13#10 |
| Comment | Позволяет определить номер модели (см ниже) |
| Name | Firmware Revision Level |
| Command | :V#13 |
| Response | :V#13#10[XX]#13#10 |
| Comment | Позволяет определить версию Firmvare (см ниже) |
| Name | Firmware Checksum |
| Command | :X#13 |
| Response | :X#13#10[XXXX]#13#10 |
| Comment | Из этого мы можем выципить информацию о возможностях аппарата (см ниже) |
В общем случае, если Ups ответил на первые две команды, то у нас smart ups.
Из этих команд можно так же извлечь некоторую полезную информацию. Далее я приведу формулы с комментариями из *.drv файлов от PoweAlert.
Name=Firmware Version1
Command=Firmware Revision Level
Units=A,B,C,D,E,F,G,H,I,J
Formula=$A2I($LEFT([X],1))
Name=Firmware Version2
Command=Firmware Revision Level
Units=A,B,C,D,E,F,G,H,I,J
Formula=$A2I($MID([X],1,1))
Name=Firmware Generation
Command=Firmware Checksum
Formula=($A2I($LEFT([X],1))<8)*($A2I($MID([X],1,1))<8)+1
Name=UPS Firmware Version
Command=Firmware Revision Level
Formula="Rev "&[V:*Firmware Version1]&[V:*Firmware Version2]&"
(Gen "&$I2A([V:Firmware Generation])&")"
При помощи этих вычислений мы получим строку типа "Rev AH (Gen 2)", показывающую нам версию встроенного программного обеспечения UPS`а (firmware)
Name=L Result
Command=Model Number
Formula=$A2H([X])
Name=W Result
Command=W Result
Formula=$A2H([X])
Name=Unit Type
Command=W Result
Formula=([V:W Result]<<1)>>7
Units=Smart,Unison
Name=VA Rating New
Command=Model Number
Formula=((([V:W Result]<<2)*8)+([V:L Result]>>3))*5
Name=VA Rating Old
Command=Model Number
Formula=[V:L Result]/2
Name=VA Rating
Command=Model Number
Formula=(([V:W Result]<128)*[V:VA Rating Old])+(([V:W
Result]>=128)*[V:VA Rating New])
Name=Model
Command=Model Number
Formula=[V:*Unit Type]&" "&$I2A([V:VA Rating])
В результате мы получим что-то типа "Smart 250"
Name=Controllable Receptacles
Command=Firmware Checksum
Formula=$A2I($LEFT([X],1))-(($A2I($MID([X],1,1))>=8)*8)
Некоторые UPS позволяют раздельно управлять отдельными выходными разъемами (Receptacles). По этому, при переходе на батареи для их экономии возможно отключить не особо важные устройства. Предыдущая формула позволяет определить наличие и количество управляемых разъемов. Если полученное число больше нуля - то это количество разъемов. Если меньше или ноль - таковые отсутствуют.
| Name | Request Power Rating |
| Command | :P#13 |
| Response | :P#13#10[XX]#13#10 |
| Comment | Из этого мы можем определить мощность в W |
Name=VA Rating
Command=Request Power Rating
Formula=$A2I($MID([X],0,2))*10
Эта команда под вопросом - у меня мощность получилась 200W при номинальной 175W и описана только применительно к некоторым UPS c USB - интерфейсом. В исходниках под "Пингвина" ее нет.
P.S. Все эти команды чисто информативного плана и если писать что-то для себя, то толк от них не велик - только выдать строчки "Супер-пупер ПУПС 250 варь ХХХ"
Назначение этих коммакоманд определить не удалось.
| Name | Unknown |
| Command | :U#13 |
| Response | :U#13#10[XXX]#13#10 |
| Comment | У меня всегда возвращает "000" назначение неизвестно, недокументированно! |
| Name | Unknown |
| Command | :Z#13 |
| Response | :Z#13#10[XX]#13#10 |
| Comment | У меня всегда возвращает "000" назначение неизвестно, недокументированно! |
| содержание | статические команды | динамические команды | команды управления | управление питанием UPS+ATX |