[Nut-upsuser] GE EP series UPS
Danilo Godec
danilo.godec at agenda.si
Tue Apr 12 22:39:49 UTC 2011
The short story - it seems that GE EP series is (somewhat) supported by
the *blazer_ser* driver (haven't tried the USB connection yet). I had to
use the 'cablepower = none' option as GE only uses TX and RX.
The longer story - I 'sniffed' the RS232 communication between the GE
supplied Java software 'upspilot' and UPS. From that I found out the
baud rate (2400) and I learned about a couple of commands (not knowing
what they mean):
* CB24
* WH
* Q1
* Q4
* Q7
* QS
* ...
Then I user 'minicom' to try these commands out and this is what I got:
Q1 -> (232.0 140.0 220.0 001 50.0 2.27 31.0 00000000
Q4 -> (232.0 243.0 000.0 001 220.0 49.9 001 50.0 342 343 273.0 31.0 LM
Q7 -> 07102218014 V_01
OK, I'm getting somewhere - but I have to figure out what all of this
means. So decide to unpack some .jar files and have a look in there. A
friend helped by 'de-compiling' all .class files and using 'grep' I
searched for these commands.
There is a file named 'UpsProt.class', which (de-compiled) contains this:
/* 25 */ Santak1Class.command[0] = "Q";
/* 30 */ Santak1Class.command[1] = "Q1";
/* 35 */ Santak1Class.command[2] = "Q4";
/* 40 */ Santak1Class.command[3] = "QF";
/* 45 */ Santak1Class.command[4] = "MD";
/* 50 */ Santak1Class.command[5] = "QP";
/* 55 */ Santak1Class.command[6] = "PSmGnLpHqExxxxDxxx";
/* 60 */ Santak1Class.command[7] = "PF";
/* 65 */ Santak1Class.command[8] = "T";
/* 70 */ Santak1Class.command[9] = "TL";
/* 75 */ Santak1Class.command[10] = "T";
/* 80 */ Santak1Class.command[11] = "S";
/* 85 */ Santak1Class.command[12] = "SR";
/* 90 */ Santak1Class.command[13] = "C";
/* 95 */ Santak1Class.command[14] = "CT";
/* 100 */ Santak1Class.command[15] = "CB";
/* 105 */ Santak1Class.command[16] = "PE";
/* 110 */ Santak1Class.command[17] = "PD";
/* 116 */ Santak1Class.command[18] = "QMT";
/* 122 */ Santak1Class.command[19] = "F";
/* 128 */ Santak1Class.command[20] = "WH";
/* 134 */ Santak1Class.command[21] = "Q2";
/* 140 */ Santak1Class.command[22] = "WA";
/* 145 */ Santak1Class.command[23] = "WH";
/* 150 */ Santak1Class.command[24] = "QA";
/* 156 */ Santak1Class.command[25] = "FLT";
/* 162 */ Santak1Class.command[26] = "FLT,00";
/* 170 */ Santak1Class.command[27] = "QS";
/* 176 */ Santak1Class.command[28] = "CTL";
/* 182 */ Santak1Class.command[29] = "LT?";
A list of commands but no description. Interestingly, the Q7 which
produces some output is not mentioned. .
Due to my limited programming skills I was soon stuck, so I decided to
look at Nut drivers source to find out if there are any that use similar
commands. After a bit of experimenting I found that 'blazer_ser' pretty
much does what it's supposed to do. Also most of the 'upsc' output looks
reasonable:
battery.voltage: 252.00
battery.voltage.nominal: 240.0
beeper.status: disabled
device.type: ups
driver.name: blazer_ser
driver.parameter.cablepower: none
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.version: 2.6.0
driver.version.internal: 1.51
input.current.nominal: 27.0
input.frequency: 50.0
input.frequency.nominal: 50
input.voltage: 236.0
input.voltage.fault: 140.0
input.voltage.nominal: 220
output.voltage: 220.0
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 1
ups.status: OL
ups.temperature: 31.5
ups.type: online
Danilo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20110413/60a85d22/attachment.htm>
More information about the Nut-upsuser
mailing list