[Nut-upsuser] Interfacing with Siemens SITOP UPS500S

Berge, Matthijs ten M.tenBerge at awl.nl
Wed Mar 14 11:26:48 UTC 2018

Hello all,

For an upcoming project I will have to interface with a 24V DC UPS from Siemens (full name: Siemens SITOP UPS500S, manufacturer nr 6EP1933-2EC41).
As this device is not listed in the compatibility list, I will have to write my own driver.

I already found out, that the UPS has a serial-over-USB interface (USB full-speed, 12 MBps), using an FTDI chip.
Over this serial port, it will periodically spit out some 5-character plaintext strings (every 75 msec):
BUFRD - battery ok, UPS functionality available
ALARM - battery critical or bad. When on line: no UPS functionality possible; when on battery: battery level critical, will shut down very soon
DC_OK - input voltage (line) ok
DC_LO - input voltage (line) too low
***** - running on line
*BAT* - running on battery
BA>85 - battery charge > 85%
BA<85 - battery charge < 85%

The ordered device is still on its way, so at the moment I cannot test how these strings are separated (CR/LF, space or nothing) and which combinations can occur.

There is only one character that can be sent _to_ the UPS: the 'R' character remotely starts the timer countdown, after which the UPS will shut off the load.

The timer delay can be configured on the device itself, with DIP switches. It determines the time between an 'on battery' event (or the 'R' command) and powering off the load.

Can anyone point me in the right direction where I should start? I already found http://networkupstools.org/docs/developer-guide.chunked/ar01s04.html, but it doesn't give any specific tips for serial communication. For example, which source can I use best as a starting point?
Or does anyone recognize this protocol, and is it already compatible with an existing driver?

Thanks in advance,

DISCLAIMER: For our full disclaimer, please visit www.awl.nl/en/about-us/disclaimer

More information about the Nut-upsuser mailing list