[Nut-upsdev] Findings of dual APC UPS sensor attachments

Steffen Plotner swplotner at amherst.edu
Thu May 7 14:18:43 UTC 2009


We have several APC Smart UPSes (serial port/apcsmart) with the APC
Temp/Humidity sensor cards (AP9612TH). The sensor cards have 2 plugs for
2 separate sensors. So far, we have only used one of the sensors in
conjunction with the apcsmart module from nut. This has been working
great. Example output:

[nut at nut]# upsc APC11
ambient.humidity: 037.2
ambient.humidity.alarm.maximum: NO,NO
ambient.humidity.alarm.minimum: NO,NO
ambient.temperature: 21.08
ambient.temperature.alarm.maximum: NO,NO
ambient.temperature.alarm.minimum: NO,NO

We thought of utilizing the second sensor port and have not been able to
determine how to read the values of the second port.

Looking at the source code of apcsmart we noticed that the following
characters are sent to the UPS to retrieve the current data: the letter
't' for temperature and the letter 'h' for humidity.

One of our co-workers decided to use the Windows based software from APC
and showed me that he can read both sensors fine. Ok, so we fired up
from sysinternals the portmon tool to study what is happening on the
serial port and we find the following:

The upper case letter 'T' produces 2 values:

The upper case letter 'H' produces 2 values:

If sensor 1 is not plugged in and sensor 2 is, then the output can look

I have 2 questions:

1. could the web page
http://www.networkupstools.org/protocols/apcsmart.html be updated to
include this finding?

2. could we modify the source code to accommodate this?

In regards to the software, there are some issues. By default we still
have to query for the old values so that the above output is maintained.
Maybe a config switch (man apcsmart: extra arguments: multisensor:1 and
default to 0) would specifically allow the admin to enable the dual
values, then the output might look like:
ambient.humdity1: x.x
ambient.humidty2: x.x
ambient.temperature1: x.x
ambient.temperatuer2: x.x

I am unclear currently about the alarm.min and max values what exactly
does NO,NO mean? Is that referring by chance to the 2 possible sensors?

I am willing to work on the source code - unless some else already knows
and wants to implement this feature... I would like have to have feed
back in particularly about how we should go about implementing the above
(i.e. is that in line with the current project, for example).



Steffen Plotner
Systems Administrator/Programmer
Systems & Networking

Amherst College
PO BOX 5000
Amherst, MA 01002-5000
Tel (413) 542-2348
Fax (413) 542-2626
Email: swplotner at amherst.edu 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20090507/f59f217c/attachment.htm>

More information about the Nut-upsdev mailing list