- The CyberPower Intelligent LCD CP1350AVRLCD uninterruptible power supply (UPS) for mid to high-end computer systems, features dynamic line conditioning to guard against surges/spikes and offers battery backup in the event of brownouts or blackouts. HID USB and one (1) serial port, as well as protection for phone/network (RJ11/RJ45).
- CyberPower M1100XL guarantees the best power protection for computers, workstations, NAS/Storage devices, and other IT equipment in hospitals and healthcare facilities during power outages. This product also provides battery backup, surge-protected outlets and EMI filter to safeguard your devices.
- Tripp Lite SmartOnline 120V 1kVA 900W Double-Conversion UPS, Tower, Extended Run, Network Card Options, LCD, USB, DB9 Serial (SU1000XLCD) 3.2 out of 5 stars 7 $610.96.
Subject: Re: 25 to 9 serial pinout Date: Wed, 3 Jun 1998 07:41:30 -0400 (EDT) I know this is a general question, non alpha specific, but just in a rush somebody knows a web site were I can check 25 to 9 serial conector pinout?
Serial Interfacing with a CyberPower UPS
By Jeff Mayes, October 2018
Preface
This all started when I decided we needed a UPS to integrate into our products and searched with the following criteria. Must be low cost, 300w, rack mounted, have batteries that load into the front and have a serial port. Of course APC and Tripp-lite were on top of the list but now they only have USB or dumb ports for connection plus cost was prohibitive. Now CyberPower comes into the picture, it fit all my requirements AND had a neat display to add to the WOW factor (more on the display later). Thinking I had found the perfect solution I ordered one and with great disappointment found it had a serial port that does NOT support serial data! CyberPower marketing their product as having a serial port was plain not accurate. In fact pins 2 & 3 (the data pins) of the port are not connected to anything!! The only functions available from that port are on/off hardwired signals for 'Load on battery' and 'Load on line', it had one input to shut down the unit, not very functional at all. It did have a USB pot which DOES support data transfer but there is no published protocol and home-brew interfacing to USB is a major job which is why I ruled out the other UPS's. However there was a port for a plug in optional network card which also could provide useful data but at a cost as much as the UPS which was not a cost efficient solution.
Needing to interface the UPS to our products I decided to reverse engineer the available ports. USB as mentioned earlier is very tricky and time consuming to make a driver for and would require a 3rd party microprocessor to convert it to serial so that is ruled out. The actual serial port is useless so that left only the network option port.
I ordered the network option board and joyfully found an internal simple 4 wire interface, gnd, v+, rx & tx which turned out to be good ole serial data in TTL form (and not even inverted). After some sniffing I easily found it communicated at 2400 baud and used plain English commands (mostly single keystrokes, wow!) If anyone has done interfacing to APC serial ports you will notice much similarity. I also found that since the rx/tx signals were positive polarity I could just wire them to a standard computer serial port without any drivers and get error free data communication (again WOW!).
Data I discovered included on/off line, line voltage, battery charge, load percentage, estimated battery life, frequency and MORE! Functions that could be sent include Battery quick test, Battery Deep test, UPS shutdown and UPS reboot (the latter will shut down the ups for a few moments and turn it back on, perfect to remote reboot the equipment)
Now that I found the interface I needed to make it easy to connect to the UPS, I need this solution for many installations so it became apparent that a slide in board that would fit just like the option board with a DB9 serial connector was the best solution. I needed to order a large quantity of boards to make them cost efficient so I have extras!!
As I said earlier I am running directly from the TTL port to a computer RS232 port, not 100% proper but works great for short runs. I decided for situations where there needs to be a long run of cable or if your just too geeky to get over putting TTL into a RS232 port I put a driver circuit on the board that can be optionally added. By adding a MAX2232 some caps, 5v lp reg and cutting 2 traces makes it a fully compliant RS232 interface.
I am making the boards available on Ebay and my website (jmayesdeals.com) for $29 complete with connector or $39 with the driver circuit added. Any CyberPower UPS that will accept a RMCARD202 or RMCARD205 network card should work. Want to roll your own? Read on for all the info you will need.
CyberPower UPS Network card internal serial protocol
Serial Setup: 2400 Baud, No Parity, 8 Bits, 1 Stop bit. (2400,N,8,1)
Commands sent to the UPS must end with x0D (CR)
Data responses start with '#' and end with x0D (CR)
Basic UPS Commands
Command to UPS (Add CR,x0D) | Result |
T | self test |
S(0x2E)1R9999 | Sleep |
W(0x2E)1 | Wake up |
S(0x2E)1 | turn off now |
TL | Deep battery test |
CT | Cancel deep battery test |
S(x2E)1R0000 | reboot now |
S03R0003 | Reboot in 3 (minutes) |
S03 | Shutdown in 3 minutes |
C | Cancel reboot or shutdown |
C7:1 | Turn buzzer on |
D | # I116.0 O116.0 L000 B100 F060.0 R100 S€%À€€ (Spaces added for readability) |
Unrecognized cmds | #-3 (error) |
Everything above is pretty self evident the '(0x2E)' is the hex 2E char that needs to be inserted. The 'D' command provides all the dynamic data from the UPS. The UPS will NOT push any data, you must poll the UPS (every 3 seconds works nicely) using the D command to receive the data. Descargar adobe acrobat reader gratis para windows 10. Free 2d cad software for windows 10. Next you must parse the received data watching for the identifiers which are again plain English I,O,L,B,F,R,S the last 5 bytes of data are the on/off flags that provide on/off online/offline, etc status. See the tables below.
'D' command breakdown
#I116.0O116.0L000B100F060.0R100S€%À€€ (37 bytes total) | |||
Identifier | Typical Data | Bytes | Description |
# | 0 | Start Char | |
I | 116.0 | 5 | Input Volts |
O | 116.0 | 5 | Output Volts |
L | 000 | 3 | Load % |
B | 100 | 3 | Battery % |
F | 060.0 | 5 | Freq Hz |
R | 030 | 3 | Run Time Minutes |
S | €%À€€ | 5 | Status Bits |
The 5 status bits of the 'D' string indicate various on/off conditions of the UPS such as on-line, line failure, running, etc. Most of the bits stay static, the only meat I found was in the first two bytes and is detailed below. If anyone finds more information please email and I will update the page.
The normal running online state of the status bits (In Hex) are 0x80,0x84,0xC0,0x88,0x80
Status Bytes 1 & 2 Definitions
Byte-Bit | Normal State | Description |
s1-1 | 0 | ? |
s1-2 | 0 | ? |
s1-4 | 0 | ? |
s1-8 | 0 | ? |
s1-16 | 0 | UPS Good = 0 |
s1-32 | 0 | Line Fail = 1 |
s1-64 | 0 | Batt Low = 1 (Immanent Fail) |
s1-128 | 1 | UPS Testing = 0 |
s2-1 | 0 | ? |
s2-2 | 0 | ? |
s2-4 | 1 | UPS Running = 0 |
s2-8 | 0 | ? |
s2-16 | 0 | ? |
s2-32 | 0 | ? |
s2-64 | 0 | ? |
s2-128 | 1 | ? |
There are additional commands to read out static info from the UPS such as Model, Serial#, Load rating, Etc. I did not need any of this info for my project so this is not a complete reference, again if anyone can add to this you are welcome to email me your results and I will update this page as needed.
Static Info Commands
CMD | RESULT | Comments |
P1 | #12,140,90,10,300 | ? |
P2 | #0500,0300,120,057,063 | VA, W, V,min fq, max fq |
P3 | #06.0,2×1,007.0,00 | ? |
P4 | #OR500LCDRM1U,BF00701ICM1,000000000000,CyberPower | Model, Firmware, ?, Manf |
P5 | #120 | ? (3 responses) |
P6 | #140 | Min volts? |
P7 | #90 | Max Volts? |
P8 | #10,20,30,40,50,60,70,80,90 | ? |
P9 | #Çð | ? (Bits/Flags) |
Hardware connections
Net card connector (looking in the card box) (J2)
08642<–Pin #'s (0=10)
xxxxx
xxxxx
97541<–Pin #'s
Net Card Connector To PC RS232 Connections
J2 (UPS) | Description | J1 (to computer) |
1 | Gnd | –>DB9p5 (GND) |
2 | input (to ups) | –>DB9p3 (TX) |
3 | output (from ups) | –>DB9p2 (RX) |
4 | V+ (12V) | |
5 | (unused) | |
6 | (unused) | |
7 | ? Connected but not used | |
8 | nc | |
9 | nc | |
0 | nc (display mod) 10k | –> DB9p7 (RTS) |
Available Plug in Interface Boards From Ebay and JmayesDeals.com
Basic Interface with no Driver $29.00 | Full Interface with RS232 Driver $39.00 |
Finally 'The Display'
There was another disappointment here in that the display would only come on during an 'Event' or when you first plug it in, during regular operation is would be off and black. You are required you to hit a button to bring it on and check status by repeating the button push's. Not so much WOW factor in that!!! I found no software work-around, no commands would tickle the display unless I kicked the ups into action which was out of the question for normal use. After much contemplation I came up with a Hardware hack where by adding one wire internal to the UPS and a 10k resistor on my board I could pulse the RTS pin of the serial interface and simulate a push of the front panel button thereby bringing on the display and changing modes to add action to the readout. Below are pictures of the Hack on a OR500L ups (other models may be slightly different). This is completely optional and you MUST be able to do internal soldering work and pulse the RPS pin with your software, I do it along with the 'D' command every three seconds. It keeps the display on and cycling through the available screens so anyone looking at the setup sees some action.
Wire to add for Display hack | Connect Wire to Pin 2 of the card connector |
Connect wire to 'Orange' wire of display connector |
Hope this helps someone out!
Jeff Mayes, Jmayes Engineering, Jmayes.com. JmayesDeals.com, jmayes@jmayes.com
For the impatients: skip to the settings.
Not long ago my APC Back-UPS 700 started beeping at me randomly for no apparent reason. Inkscape direct for mac 10.11. I replaced its battery to no avail. When one day the power cut out and I found the UPS completely shut down instead of feeding power from its supply, I knew it was time to get a replacement.
So I went and bought a CyberPower CP900, which I read was a good alternative brand to APC. Given my previous experiences I wanted to try out something new instead of sticking to the same hardware again.
The previous UPS was connected with an RJ50-USB cable to a server running the NUT monitor, with another server polling status data from it with the respective client. Hardware failures excluded, this system was working fine: why not replicate it with the CyberPower too? It's supported by NUT with the same usbhid-ups
driver I used with the APC. Nice surprise: no more finicky RJ50-USB cables, but instead a plain USB-B connector.
The driver found the UPS straight away, I edited some configurations to reflect the new product name in the logs, and off we go. Smoke test (cutting power):
Happy for the new change, I kept working on something else. But after a few hours I noticed that the UPS section of my Grafana dashboard was showing no datapoints.
I SSH'd into the machine hosting the NUT monitor and quickly checked the status with upsc
. It thought on it for a moment, and then came up with Error: Data stale
.
Uhm… What?
It turns out that many CyberPower products reset the USB interface if a driver has not connected for 20s.
After some more fiddling I noticed that NUT was set to consider an UPS 'stale' (e.g.: 'Hey Mr. UPS, you haven't spoke to me for a while. You know what? I'll just silently assume that you're dead and not tell anyone about that.') after 15 seconds by default.
Goodsync 5 5 3 0 download free. In order to get a CyberPower USB UPS to stay connected for more than a couple of minutes, you have to change the staleness settings in NUT to give them some headroom and the polling interval in the definition of the UPS itself.
NUT Settings
The pollinterval
key may or may not be a needed change, but since in this configuration it works I see no harm in leaving it where it is.
The 5 status bits of the 'D' string indicate various on/off conditions of the UPS such as on-line, line failure, running, etc. Most of the bits stay static, the only meat I found was in the first two bytes and is detailed below. If anyone finds more information please email and I will update the page.
The normal running online state of the status bits (In Hex) are 0x80,0x84,0xC0,0x88,0x80
Status Bytes 1 & 2 Definitions
Byte-Bit | Normal State | Description |
s1-1 | 0 | ? |
s1-2 | 0 | ? |
s1-4 | 0 | ? |
s1-8 | 0 | ? |
s1-16 | 0 | UPS Good = 0 |
s1-32 | 0 | Line Fail = 1 |
s1-64 | 0 | Batt Low = 1 (Immanent Fail) |
s1-128 | 1 | UPS Testing = 0 |
s2-1 | 0 | ? |
s2-2 | 0 | ? |
s2-4 | 1 | UPS Running = 0 |
s2-8 | 0 | ? |
s2-16 | 0 | ? |
s2-32 | 0 | ? |
s2-64 | 0 | ? |
s2-128 | 1 | ? |
There are additional commands to read out static info from the UPS such as Model, Serial#, Load rating, Etc. I did not need any of this info for my project so this is not a complete reference, again if anyone can add to this you are welcome to email me your results and I will update this page as needed.
Static Info Commands
CMD | RESULT | Comments |
P1 | #12,140,90,10,300 | ? |
P2 | #0500,0300,120,057,063 | VA, W, V,min fq, max fq |
P3 | #06.0,2×1,007.0,00 | ? |
P4 | #OR500LCDRM1U,BF00701ICM1,000000000000,CyberPower | Model, Firmware, ?, Manf |
P5 | #120 | ? (3 responses) |
P6 | #140 | Min volts? |
P7 | #90 | Max Volts? |
P8 | #10,20,30,40,50,60,70,80,90 | ? |
P9 | #Çð | ? (Bits/Flags) |
Hardware connections
Net card connector (looking in the card box) (J2)
08642<–Pin #'s (0=10)
xxxxx
xxxxx
97541<–Pin #'s
Net Card Connector To PC RS232 Connections
J2 (UPS) | Description | J1 (to computer) |
1 | Gnd | –>DB9p5 (GND) |
2 | input (to ups) | –>DB9p3 (TX) |
3 | output (from ups) | –>DB9p2 (RX) |
4 | V+ (12V) | |
5 | (unused) | |
6 | (unused) | |
7 | ? Connected but not used | |
8 | nc | |
9 | nc | |
0 | nc (display mod) 10k | –> DB9p7 (RTS) |
Available Plug in Interface Boards From Ebay and JmayesDeals.com
Basic Interface with no Driver $29.00 | Full Interface with RS232 Driver $39.00 |
Finally 'The Display'
There was another disappointment here in that the display would only come on during an 'Event' or when you first plug it in, during regular operation is would be off and black. You are required you to hit a button to bring it on and check status by repeating the button push's. Not so much WOW factor in that!!! I found no software work-around, no commands would tickle the display unless I kicked the ups into action which was out of the question for normal use. After much contemplation I came up with a Hardware hack where by adding one wire internal to the UPS and a 10k resistor on my board I could pulse the RTS pin of the serial interface and simulate a push of the front panel button thereby bringing on the display and changing modes to add action to the readout. Below are pictures of the Hack on a OR500L ups (other models may be slightly different). This is completely optional and you MUST be able to do internal soldering work and pulse the RPS pin with your software, I do it along with the 'D' command every three seconds. It keeps the display on and cycling through the available screens so anyone looking at the setup sees some action.
Wire to add for Display hack | Connect Wire to Pin 2 of the card connector |
Connect wire to 'Orange' wire of display connector |
Hope this helps someone out!
Jeff Mayes, Jmayes Engineering, Jmayes.com. JmayesDeals.com, jmayes@jmayes.com
For the impatients: skip to the settings.
Not long ago my APC Back-UPS 700 started beeping at me randomly for no apparent reason. Inkscape direct for mac 10.11. I replaced its battery to no avail. When one day the power cut out and I found the UPS completely shut down instead of feeding power from its supply, I knew it was time to get a replacement.
So I went and bought a CyberPower CP900, which I read was a good alternative brand to APC. Given my previous experiences I wanted to try out something new instead of sticking to the same hardware again.
The previous UPS was connected with an RJ50-USB cable to a server running the NUT monitor, with another server polling status data from it with the respective client. Hardware failures excluded, this system was working fine: why not replicate it with the CyberPower too? It's supported by NUT with the same usbhid-ups
driver I used with the APC. Nice surprise: no more finicky RJ50-USB cables, but instead a plain USB-B connector.
The driver found the UPS straight away, I edited some configurations to reflect the new product name in the logs, and off we go. Smoke test (cutting power):
Happy for the new change, I kept working on something else. But after a few hours I noticed that the UPS section of my Grafana dashboard was showing no datapoints.
I SSH'd into the machine hosting the NUT monitor and quickly checked the status with upsc
. It thought on it for a moment, and then came up with Error: Data stale
.
Uhm… What?
It turns out that many CyberPower products reset the USB interface if a driver has not connected for 20s.
After some more fiddling I noticed that NUT was set to consider an UPS 'stale' (e.g.: 'Hey Mr. UPS, you haven't spoke to me for a while. You know what? I'll just silently assume that you're dead and not tell anyone about that.') after 15 seconds by default.
Goodsync 5 5 3 0 download free. In order to get a CyberPower USB UPS to stay connected for more than a couple of minutes, you have to change the staleness settings in NUT to give them some headroom and the polling interval in the definition of the UPS itself.
NUT Settings
The pollinterval
key may or may not be a needed change, but since in this configuration it works I see no harm in leaving it where it is.
All the other settings are either at their default values or not relevant to the disconnection problem.
Cyberpower Ups Serial Pinout 250
It took me a while to find the right combination of settings, I hope I saved you some time & experimentation!
Cyberpower Ups Serial Number
Credits: