use constant {
TEMP => "00",
VPV1 => "01",
VPV2 => "02",
VPV3 => "03",
LPV1 => "04",
LPV2 => "05",
LPV3 => "06",
ETODAY => "0D",
VPV => "40",
LAC => "41",
VAC => "42",
FAC => "43",
PAC => "44",
ZAC => "45",
UNK1 => "47",
ETOTAL => "48",
UNK2 => "49",
HTOTAL => "4A",
MODE => "4C",
UNK3 => "78",
UNK4 => "79",
UNK5 => "7A",
UNK6 => "7B",
UNK7 => "7C",
UNK8 => "7D",
UNK9 => "7E",
UNK10 => "7F"
};
Ingmar wrote:Hi Matt,
I was looking for the communication log.
There is a free program from HHD software that runs in parallel with the ProControl (or SunEzy Control). You can download it from http://www.serial-port-monitor.com/.
You need to start the program first, then the Control software, log some stuff, then close the Control program and finally the monitor software. It leaves the port open. The window you need is the Request view. Self explaining when you run the program.
The output is like attached to this post.
reset networkSEND -> aaaa010000000004000159
query networkSEND -> aaaa010000000000000155
inverter responds with serial number - but the header of this packet is aaaafe00 not aaaa0001 - perhaps to signify a newer version of the protocol.RECV <- aaaafe00000000800a413246534131333035340526
this is different also - for some reason another byte is inserted (00) between the serial number and the 01. Perhaps this allows for more than 255 inverters on the same RS485 busSEND -> aaaa0100000000010c41324653413133303534000103ad
and the inverter response with "OK" - again with aaaafe01 header.RECV <- aaaafe0100000081010602db
query for capabilities (normal request)SEND -> aaaa010000010100000157
and this is completely different from every other inverter we've analysed on this thread.RECV <- aaaafe0100000180011502ea
normal data requestSEND -> aaaa010000010102000159
and a normal looking data response, with 40 bytes - same as my CMS2000.RECV <- aaaafe01000001822801140d5400020973138900270000000000160000000131010000000000000000000000000000000004fe
JinbaIttai wrote:Hi Garfin
SEND -> aaaa0100000000010c41324653413133303534000103ad this is different also - for some reason another byte is inserted (00) between the serial number and the 01. Perhaps this allows for more than 255 inverters on the same RS485 bus![]()
RECV <- aaaafe01000001822801140d5400020973138900270000000000160000000131010000000000000000000000000000000004fe and a normal looking data response, with 40 bytes - same as my CMS2000.
In fact, your data packet looks almost (but not quite) identical to mine. I ran it through my parser and got this result:
temp: 27.6 deg C
Vdc: 341.2 V
Iac: 0.2 A
Vac: 241.9 V
Fac: 50.01 Hz
Pac: 39 W
kWh: 2.2 kWh
run: 1 hours
mod: 12545
All those values look plausible, except the very last one - assuming you did in fact only JUST plug them in, less than an hour before getting this data reading
RECV_INIT => "00000100", # BCAST_ADDR + SRC_ADDR
# RECV_INIT => "fe000000", # ST2000
RECV_QRY => "00010100", # DEST_ADDR + SRC_ADDR
# RECV_QRY => "fe010000", # ST2000
REQUEST_CONF_SERIAL_1 => PKT_START . SEND_INIT . "00010b",
# REQUEST_CONF_SERIAL_1 => PKT_START . SEND_INIT . "00010c", # ST2000
REQUEST_CONF_SERIAL_2 => "01",
# REQUEST_CONF_SERIAL_2 => "0001", # ST2000
shell_l_d wrote:Here's the latest perl script... hope u dont mind Matt (JinbaIttai)
P.S. haven't confirmed final changes actually work as inverter had shut down for the night, can test tomorrow.
shell_l_d wrote:Just ran it & there were a couple of errors that needed fixing that I couldn't simulate last night with the inverter off... here's the ammended file
Users browsing this forum: No registered users and 0 guests