Perl as the UPS API

So I'm again frustrated that the software that came with my UPS is both different from that what I had installed for the prior model UPS and also that the software will not run on Ubuntu 12.04.  Googling, I found the Network UPS Tools project http://www.networkupstools.org/.  This project produces a sophisticated set of UPS management programs, but also provides a wealth of information regarding UPS protocols. 

As I was working through the software and the documentation, I decided I could remove a layer of complication by reading the UPS directly with Perl.  By using Perl, my application remains consistent and all I need to swap when I buy the next UPS is the protocol module that communicates with the UPS.  Perl gives me all the report and interface tools I need.  I can evaluate the UPS, send-emails, and even use FreeSWITCH to call phones and leave messages--far more than could be done with the software that came with the UPS.

So in the same way Perl plus LaTeX is a better production mail-merge solution, the better UPS solution is to use Perl for the sophisticated rule handing and reading the current status of the UPS.  Many UPS' use a simple RS-232 connection, or a USB emulation of RS-232 which makes for a simple query.

Check the Network UPS Tools website for many of the UPS protocols: http://old.networkupstools.org/protocols/

Here's an example SES Protocol: ses_test.pl

Here's an example using another protocol: megatec_test.pl

Posted by

Share: