[Nut-upsdev] apcsmart and dual environmental sensors

Arnaud Quette aquette.dev at gmail.com
Tue Jul 21 09:02:23 UTC 2009


2009/7/9 Steffen Plotner

>  Hi,
>

Hi Steffen,

>  We have a several AP9612TH environmental cards (they have 2 probe
> connectors) inserted into our APC UPS devices which monitor temperature and
> humidity. The apcsmart nut module knows how to query the ambient.temperature
> and ambient.humidity using the 't' and 'h' commands of the UPS (refer to
> apcsmart.h). The results of the 't' and 'h' commands are from probe 1.
>
> If you submit via the serial port the commands 'T' and 'H' you can obtain
> temperature and humidity readings that contains the results of both probes.
> The results are comma seperated:
>
> ambient.temperature.dual: 28.70,20.82
>
> I have created a patch that supports the new 'T' and 'H' commands and its
> resulting output using upsc is shown above. The patch does not change the
> behavior of the origina ambient.temperature reading, it simply adds a new
> ambient.temperature.dual reading (this applies to both temperature and
> humidity):
>
> --- nut-2.2.0/drivers/apcsmart.h.orig   2006-11-25 02:52:52.000000000 -0500
> +++ nut-2.2.0/drivers/apcsmart.h        2009-06-10 09:54:18.000000000 -0400
> @@ -156,6 +156,8 @@
>                                 APC_F_VOLT,             'o' },
>
>         { "ambient.humidity",   APC_POLL|APC_F_PERCENT, 'h' },
> +       { "ambient.humidity.dual",
> +                               APC_POLL|APC_F_LEAVE,   'H' },
>         { "ambient.humidity.alarm.maximum",
>                                 APC_F_PERCENT,          '{' },
>         { "ambient.humidity.alarm.minimum",
> @@ -163,6 +165,8 @@
>
>         { "ambient.temperature",
>                                 APC_POLL|APC_F_CELSIUS, 't' },
> +       { "ambient.temperature.dual",
> +                               APC_POLL|APC_F_LEAVE,   'T' },
>         { "ambient.temperature.alarm.maximum",
>                                 APC_F_CELSIUS,          '[' },
>         { "ambient.temperature.alarm.minimum",
> @@ -241,7 +245,7 @@
>  };
>
>  /* things to ignore in protocol_verify - useless variables, etc. */
> -#define CMD_IGN_CHARS "\032-78 at .,~\047\177QHRTYayz)1IJ"
> +#define CMD_IGN_CHARS "\032-78 at .,~\047\177QRYayz)1IJ"
>
>  /* compatibility with hardware that doesn't do APC_CMDSET ('a') */
>
>
I've updated the patch report (
https://alioth.debian.org/tracker/index.php?func=detail&aid=311678&group_id=30602&atid=411544)
to include your above patch, along with a comment on the namespace
integration.

As told, "the only remaining point is whether to map ambient.{humidity,...}
on ambient.1.{humidity,...}", and so expose 2 times the same data, but
keeping the basic ambient data available in the same placeholder.

Comments and feedback welcome.

cheers,
Arnaud
-- 
Linux / Unix Expert R&D - Eaton - http://www.eaton.com/mgeops
Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/
Debian Developer - http://www.debian.org
Free Software Developer - http://arnaud.quette.free.fr/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20090721/3363a455/attachment.htm>


More information about the Nut-upsdev mailing list