NOTE: This post seems valid only for PIP-4048MS and PIP-5048MS.
Though it seems to mostly work OK for Axpert Kings.
In answering a post on the South African Power Forum, I came across the Q1 command. I so wish I was aware of this command yesterday when Weber and I did the fan temperature experiments. (So you're a day late, guys!
)
It seems to be tailor made for investigating the effectiveness of the fan control system! Like most of the well over 100 commands that the PIP responds to, this one is undocumented. (Even some of the documented commands have extra fields; for example 4 at the end of the QPIGS command. For example, you can see the PV power was around 990 W in my
Access Port post above; it's the second last field. The string of eight ones and zeroes ("Device Status") is the last documented field (at least, with the documentation I have, with 20140822 in the file name).
The Q1 command (CRC 1B FC) seems to send back the following:
( All command responses start with the open parenthesis character.
AAAAA Local inverter status (first field). This seems to be a bit field,
commonly taking the values 0x3809 or similar (shows as 14345 decimal).
Edit: this seems to become a count in seconds till the end of CV
(absorb) charging, in firmware version 72.70.
BBBBB ParaExistInfo first field. This always seems to be 00001, even with
no parallel card installed.
Edit: this seems to become a count in seconds till the end of float
charging (when it will start CC (bulk) charging), in firmware version
72.70.
CC SccOkFlag. I assume that 1 means the SCC is powered and is
communicating.
DD AllowSccOnFlag.
EE ChargeAverageCurrent. I'm not clear on what chargers are included.
FFF SCC PWM temperature, in °C. From global variable wSccPWMTemp.
GGG Inverter temperature, in °C. Presumed to be from the AC heatsink.
HHH "Battery temperature". It seems that this must be the temperature
reported by a sensor on the battery to bus inverter heatsink.
III Transformer temperature. It's the result of calling _wTempDegreeTxt().
Presumably also in °C.
JJ Parallel mode: 0 1 2 mean NEw, SLave, MAster.
KK FanLockStatus. I'd say 01 means fans are locked, 00 means not locked.
LLL FanPWMDuty. No longer used. Always 000.
MMMM "FanPWM", but is actually speed in percent. 0000 represents off, and
0100 represents 100% duty cycle (flat out). However, on start-up, this
value goes to 0100 without the fans roaring. 0030 (30%) seems to be
the lowest speed, quite quiet. At 42% load, the fans went to 42%
speed.
NNNN SCC charge power, watts. This is one of the changes to firmware
version 72.40 that is not present in version 52.30. In 72.40, the
result of the call to _swGetSccChgPower() is divided by 10; in 52.30
is is displayed as is. I suspect 52.30 would have displayed tenths of
watts.
OOOO ParaWarning. Presumably, some warning bitfield related to paralleled
units.
PP.PP SYNFreq. Wild guess: frequency of inverter after synchronising with
the mains input.
QQ Inverter charge status. This will likely be 10 for no charging, 11 for
bulk stage, 12 for absorb, or 13 for float. However, bulk stage will
usually report as 12, same as absorb. I don't know what the signif-
icance of the leading "1" digit is; I've always found it to be one, but
the firmware calculates this value modulo 10 (stripping off the tens
digit) a lot of the time.
These 17 fields are followed by the usual checksum and carriage return.
[ Edit March 2020: Firmware version 74.40 (which is for PF1 non-64V models) has an extra 10 fields, most concerning the equalisation settings. ]
So you can see that an experiment could possibly be designed to find out whether the transformer temperature measurement is being affected by the fan air flow direction. However, it would probably require either some guesswork, or access to the transformer while the unit is running. The latter is likely not practical on a 2015 model machine.
[ Edited 11/Jan/2016: changed several descriptions after actually examining the results (no load) ]
[ Edited 17/Dec/2016: Inserted PWM temperature field (FFF); moved other fields down (so now ends as QQ instead of PP ]
[ Edited 14/Jan/2017: Guess on the meaning of "Battery temperature" changed. SynFreq now a wild guess. ]
[ Edited 3/Feb/2017: Amended guess of first two fields for firmeare version 72.70 ]
[ Edit: Always found it on -> Always found it to be one ]