[Nut-upsuser] Driver for Tripp Lite SmartPro SLT

Paul C. Diem PCDiem at FoxValley.net
Mon Sep 19 22:55:53 UTC 2005


I'm tuned in only because I've spent a lot of time deciding to use the Smart
1500XL and need to learn how to talk to it. I don't have access to any
"official" docs.

I have not yet decided whether I'm going to use nut or just write my own
daemon to communicate with the UPS. I'll will however try to get a nut
driver done for the Tripp-Lite 3003 protocol. If someone else is so
inclined, I've attached my notes on the Tripp-Lite 3003 protocol.

Paul C. Diem
PCDiem at FoxValley.net

-----Original Message-----
From: Kenneth Tindle [mailto:ktindle at uky.edu]
Sent: Sunday, September 18, 2005 3:05 AM
To: Nut-upsuser at lists.alioth.debian.org
Cc: Paul C. Diem
Subject: Re: [Nut-upsuser] Driver for Tripp Lite SmartPro SLT


Paul, you seem pretty tuned in to this deal.  I really don't mean to
sound indelicate, but...

Can I say "pretty please" to get the 3003 driver released, even if in
crude form sufficient only for shutdown with commercial power loss and
little (if anything) else?

How in the heck are you getting the low down on 3003?  Is it all reverse
engineering on your part, or do there exist any "official" docs on it?

I must repeat, I'm not trying to be crude or cute.  I'm just impressed
with your knowledge level.

Does Tripp Lite implement 3003 on the USB port too?  Or is that some
kind of legitimate standard?  I'm referring to the data tossed to and
fro, not USB signal/pin definitions.


--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.1/104 - Release Date: 9/16/2005

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.2/105 - Release Date: 9/19/2005
-------------- next part --------------
Set Unit ID:
P/C:    :J<00><80>5<CR>		:J<Unit ID - 16-bit unsigned integer>
UPS:    J<CR>
P/C:    :U<AA><CR>		:U<Unit ID - 16-bit unsigned integer> (Get Unit ID)
UPS:    U<00><80><CR>

Turn All Outlets Off:
P/C:    :K00T<CR>
UPS:    K<CR>

Turn All Outlets On:
P/C:    :K01S<CR>
UPS:    K<CR>

Cycle All Outlets:
P/C:    :K00T<CR>
UPS:    K<CR>
P/C:    :N<00><01><B0><CR>
UPS:    N<CR>
P/C:    :K01S<CR>
UPS:    K<CR>

Turn Outlet 1 On:
P/C:    :K11R<CR>
UPS:    K<CR>

Turn Outlet 1 Off:
P/C:    :K10S<CR>
UPS:    K<CR>

Cycle Outlet 1:
P/C:    :K10S<CR>
UPS:    K<CR>
P/C:    :N<00><01><B0><CR>
UPS:    N<CR>
P/C:    :K11R<CR>
UPS:    K<CR>

Reboot UPS:
P/C:    :H<00><00><10><A7><CR>	:H<Restart delay in seconds - 24-bit unsigned integer>
UPS:    H<CR>

Self Test:
P/C:    :A<BE><CR>
UPS:    A<CR>

Return Load:
P/C:    :L<B3><CR>
UPS:    L030D<07>X<CR>	(3.0%)
UPS:    L000D<07>X<CR>	(0.0%)
UPS:    L1900<07>X<CR>	(25.0%)

Enable Biweekly Self Test:
P/C:    :I'<8F><CR>
UPS:    I<CR>

Disable Biweekly Self Test:
P/C:    :I<07><AF><CR>
UPS:    I<CR>

Enable Watchdog:
P/C:    :W<1E><8A><CR>		:W<Timeout in seconds - 16-bit unsigned integer, 30 max>
UPS:    W<1E><CR>

Disable Watchdog:
P/C:    :W<00><A8><CR>
UPS:    W<00><CR>
 
-----------------------------------------------------------------------------------------

Protocol:
Command:	:<00><FF><CR>
Response:	<00><Protocol>XXXX<CR>

Firmware:
FVVVVRR		F1092 D = 1092 (Rev  D)
 ^^^^^^
 ||||||
 ||||++-------- Revision
 ++++---------- Firmware version

Model Version:
VNBBSXX
 ^^^^
 ||||
 |||+---------- Switchable load banks
 |++----------- Nominal battery voltage / 6 (2=12, 4=24, 6=36)
 +------------- Nominal input voltage: 0=100, 1=120, 2=230, 3=208, 4=204
		Scaled input voltage: 0=100, 1=120, 2=230, 3=230

Power Rating:
PRRRRRX		P01500X
 ^^^^^
 |||||
 +++++--------- Power rating (decimal)

Voltage Data:
DIIBB		D777C
 ^^^^
 ||||
 ||++---------- Battery voltage (hex) / Nomimal battery voltage / 12 * 10
 ++------------ Input voltage (hex) * 120 / Scaled Input Voltage

Battery Capacity:
	Voltage		Capacity %
	<= 11		10
	<= 11.2		20
	<= 11.4		30
	<= 11.6		40
	<= 11.8		50
	<= 12		60
	<= 12.2		70
	<= 12.5		80
	<= 13.2		90
	Else		100

Levels:
LOO??FX		L000D.X
 ^^  ^
 ||  |
 ||  +---------	Auto restart/testing status (binary) (bit 0=AR on shutdown,
 ||		1=AR on delayed wakeup, 2=AR on low voltage, 3=AR on overload,
 ||		4=AR on over temp, 5=Biweekly test)
 ++------------ Output load in 1/100% (hex)

Min Max Voltage:
MIIAA		M7779
 ^^^^
 ||||
 ||++----------	Maximum input voltage (hex) * 120 / Scaled Input Voltage
 ++------------ Minimum input voltage (hex) * 120 / Scaled Input Voltage

Relay Status:
RLO
 ^^
 ||
 |+------------ Outlets on mask (binary) (ie. ff=all outlets on, fe=outlet 1 off)
 +------------- Load status (binary) (0=load off, 1=load on)


Status:
SBT?M?T		S100..0
 ^^ ^ ^
 || | |
 || | +-------- Tap state (hex) (0=Normal, 1=Reducing1, 2=Boost1, 3=Boost2, 4=Reducing2)
 || +---------- UPS mode (binary) (Bit 2: 0=Utility, 1=On Battery)
 |+------------ Self test status (hex) (0=Test OK, 1=Battery Bad - Replace, 2=In Progress,
 |		3=Overcurrent, 4=Unknown, 5=Battery Fail/Overcurrent)
 +------------- Battery voltage conditionn (hex) (0=Low, 1=OK, 2=Bad)


Temp Freq:
TKKFFF1		TA20001
 ^^^^^^
 ||||||
 |||||+-------- Nominal frequency (hex) (0=50 Hz, 1=60 Hz)
 ||+++--------- Frequency * 10 (hex)
 ++------------ Temperature in ? (hex) (C = KK * 0.3636 - 21, F = C * 1.8 + 32)

-----------------------------------------------------------------------------------------

Load: 25% Voltage: 37.5V Capacity: 90%

P/C:    :M<B2><CR>
UPS:    M0079<CR>
        <waited 3.69085 seconds>
P/C:    :R<AD><CR>
UPS:    R<01><FF><CR>
        <waited 3.21217 seconds>
P/C:    :S<AC><CR>
UPS:    S100<01><00>0<CR>
        <waited 2.255058 seconds>
P/C:    :T<AB><CR>
UPS:    TA30001<CR>
        <waited 3.32950 seconds>
P/C:    :D<BB><CR>
UPS:    D007D<CR>			D007c=37.2V	D??<Decivolts / 3 - 2 hex digits>
        <waited 3.13145 seconds>
P/C:    :L<B3><CR>
UPS:    L1900<07>X<CR>
        <waited 3.78938 seconds>
-----------------------------------

        <waited 3.14091 seconds>
P/C:    :R<AD><CR>
UPS:    R<01><FF><CR>
        <waited 3.78198 seconds>
P/C:    :S<AC><CR>
UPS:    S140<01><00>0<CR>
        <waited 2.323043 seconds>
P/C:    :T<AB><CR>
UPS:    TA20001<CR>
        <waited 3.77949 seconds>
P/C:    :D<BB><CR>
UPS:    D0075<CR>
        <waited 3.14091 seconds>
P/C:    :L<B3><CR>
UPS:    L1F00<07>X<CR>
        <waited 3.22943 seconds>
P/C:    :M<B2><CR>
UPS:    M0079<CR>
        <waited 3.15087 seconds>
P/C:    :R<AD><CR>
UPS:    R<01><FF><CR>
        <waited 3.34210 seconds>

P/C:    :S<AC><CR>
UPS:    S040<00><00>0<CR>		*
        <waited 3.21939 seconds>
P/C:    :T<AB><CR>
UPS:    TA22581<CR>			*
        <waited 3.22956 seconds>
P/C:    :D<BB><CR>
UPS:    D7778<CR>			*
        <waited 3.26087 seconds>
P/C:    :L<B3><CR>
UPS:    L000D<07>X<CR>
        <waited 2.253063 seconds>
P/C:    :M<B2><CR>
UPS:    M0079<CR>


More information about the Nut-upsuser mailing list