RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > Вообще-то там есть еще подзадача - по грамотному, мало задаунить систему, надо еще выключить УПС через заданное время... > > Да, это было бы идеально. Но как можно отследить команду отключения юпса? Тут явно без апсовских мануалов не обойтись... Если кто поделится такой инфой -- то с удовольствием. > > > А вообще, круто. Возьмешь в бета-тестеры? (APC Back UPS ES 500) > > У меня юпс серии CS, но, скорее всего, система команд у них одинакова. Могу предложить всем на пробу самую первую, но в определенной степени рабочую версию: > > ------ upsmon.cmd ------ > /* UPSMON v 0.01a */ > /* (c) Larin Yury */ > > if RxFuncQuery('SysLoadFuncs') then do > call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' > call SysLoadFuncs > end > > /* set device driver name */ > ddName = 'UPSMON' > /* set intervals */ > Interval = 15 > ShutDownInterval = 300 > > do forever > rc = UPSPowerStatus() > > select > when rc = 1 then do > say time() 'Power good' > i = 0 > end > when rc = 0 then do > say time() 'Power off' > i = i + Interval > if i >= ShutDownInterval then do > /* Выключение системы. Возможно в таком виде сработает не на любой машине */ > 'shutdown o' > exit > end > end > when rc = 255 then say 'Device driver' ddName 'currently in use. Please try later.' > otherwise say 'Unknown data = 'rc > end > > call SysSleep Interval > end > > UPSPowerStatus: > > /* acquire the device driver */ > rc=stream(ddName,'command','open') > if rc = 'READY:' then do > oiBuffer = substr(x2c(a1 01 13 03 00 00 07 00),1,15,x2c(00)) > rc=charout(ddName,oiBuffer) > rc=stream(ddName,'description') > if rc \= 'READY:' then say 'Error!' > /* release the device driver */ > rc=stream(ddName,'command','close') > return c2d(substr(oiBuffer,10,1)) > end > return 255 > ------- the end -------- > > Инструкция по применению (!): > 1. Установить драйвер usbecd в соответствии с инструкцией к нему, дав имя устройству "UPSMON". > Пример моей строки config.sys: DEVICE=D:\OS2\BOOT\USBECD.SYS /D:051D:0002:0100 /N:UPSMON > > 2. При необходимости выставить в командном файле желаемое время задержки до выключения и интервал, с которым будет производится опрос юпса в секундах. (по умолчанию 300 и 15 секунд соответственно) > > 3. Запустить командный файл в фоновом режиме. Можно его поставить и в автозагрузку. :-)
_, __, _, __,
/_\ |_) /_\ |_)
| | | | | | \
~ ~ ~ ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.