StephanT Posted September 26, 2015 Share Posted September 26, 2015 I have an infini 3kplus and want to monitor some of basic values.. there is a thread on the Axpert MKS here: http://powerforum.co.za/topic/311-axpert-mks-stats/?p=3016 and the spec that we are using comes from an Australian forum and is for their version of the Axpert devices: http://forums.aeva.asn.au/forums/pip4048ms-inverter_topic4332.html I got a serial-to-usb converter (using an FTDI one), and a serial extension cable.. downloaded realterm and connected to my infini... (settings are 2400bps, 1start, 8bit, 1stop, no parity) there are a whole list of commands that seem to work on the infini devices too.. some points to note: the start character that is returned is a bracket "(", so you can ignore that the last two characters are the 16bit CRC, you can ignore those for now too... So, when I ask for the Serial number, I get: (96131503100198. Quote Link to comment Share on other sites More sharing options...
jhay Posted September 26, 2015 Share Posted September 26, 2015 The ones most useful to me: QT (20150926100502 QET (00003532 QTPR (060.0 038.0 038.0 ---.-QCHGS (17.8 54.8 25.0 58.0QPIGS (235.2 100065 50.0 0006.2 235.8 01442 50.0 006.1 049 445.3 445.3 053.9 ---.- 069 02563 01377 ------ 343.9 ---.- ---.- 060.0 A---101001 QT reports the time QET reports the total energy generated in kWh QTPR reports temperature in different areas, with the highest of these being reported as the QPIGS temperature QCHGS report battery info, field one the useful one: - 1 (17.8) - current charging current - 2 (54.8) - set float voltage - 3 (25.0) - set max charging current - 4 (58.0) - set bulk charging voltage QPIGS reports lots of info, with some unused fields filled with - . What I have gathered: - 1 (235.2) Mains voltage - 2 (100065) Power to / from mains. The high 1 show the direction. 1 is the inverter using mains power. - 3 (50.0) Mains frequency - 4 (0006.2) Load AC Ampere. Probably the max of real or apparent. - 5 (235.8) Load Voltage - 6 (01442) Load power (Watt) - 7 (50.0) Load frequency - 8 (006.1) Load AC current - 9 (049) Output load % - 10 (445.3) Internal DC bus voltage 1 - 11 (445.3) Internal DC bus voltage 2 - 12 (053.9) Battery Voltage - 13 (---.-) - 14 (069) Its guestimate of % battery capacity - 15 (02563) PV Input power (Watt) - 16 (01377) Inverter power (Watt) ie power coming from PV and/or battery - 17 (------) - 18 (343.9) PV Voltage - 19 (---.-) - 20 (---.-) - 21 (060.0) Highest of the 3 temperature sensors - 22 (A---101001) Flags. The first letter is about the battery and can be: D - discharging A - constant current charging B - constant voltage charging F - float charging Quote Link to comment Share on other sites More sharing options...
StephanT Posted September 26, 2015 Author Share Posted September 26, 2015 thanks jhay.! very handy commands indeed! - much appreciated! where are these from - I don't see them in the protocol doc? logging from the solarpower app? I see some of the results there... - did a log yesterday.. an djust glanced at the log... still need to work through it... Quote Link to comment Share on other sites More sharing options...
StephanT Posted September 26, 2015 Author Share Posted September 26, 2015 on QPIGS: - 4 (0006.2) Load AC Ampere. Probably the max of real or apparent. don't you think this is Grid AC amps? Load current is at "- 8" Quote Link to comment Share on other sites More sharing options...
jhay Posted September 27, 2015 Share Posted September 27, 2015 on QPIGS: - 4 (0006.2) Load AC Ampere. Probably the max of real or apparent. don't you think this is Grid AC amps? Load current is at "- 8" Here are a few lines during different load sheddings: QPIGS (000.0 100033 00.0 0002.6 230.5 00559 50.0 002.4 020 393.8 393.8 050.0 ---.- 057 00120 00526 ------ 377.4 ---.- ---.- 036.0 D---110001 QPIGS (000.0 100046 00.0 0002.8 232.4 00603 49.8 002.5 022 415.8 415.8 050.5 ---.- 058 00645 00557 ------ 406.0 ---.- ---.- 037.0 A---101001 QPIGS (000.0 100131 00.0 0010.4 231.3 02401 49.9 010.3 080 452.9 452.9 054.7 ---.- 100 02572 02270 ------ 297.4 ---.- ---.- 044.0 F---101001 QPIGS (000.0 100034 00.0 0001.6 230.3 00287 50.1 001.2 012 460.1 460.1 054.4 ---.- 069 01845 00253 ------ 416.2 ---.- ---.- 038.0 A---101001 All documentation that I could find on the web says it should be grid current, but the actual values deny that. In the above cases it was impossible to draw current from the grid. Even the example in my previous post had 6.2A, but I'm pretty sure it was not coming from the grid. The two currents are not the same but normally not too far from each other. Interesting that even during load shedding, it thinks it can draw a few watt from the grid. About where I got the info, capturing the serial streams and searching the web for those keywords. I have sent a few emails to VoltronicPower, but have not received any answers back. I have emailed MPPSolar (where the Ausies got their info from), they replied, but said I should contact my supplier. StephanT 1 Quote Link to comment Share on other sites More sharing options...
StephanT Posted September 27, 2015 Author Share Posted September 27, 2015 thanks jhay I'm wondering whether that bit of power drawn from the grid is not a side effect of the PV... I don't have PV yet (awaiting roof installation authorisation from the body corporate in our estate), and when I switch off the main supply (i.e. load shedding), my input power is zero QPIGS (000.0 000000 00.0 0002.9 230.9 00597 49.9 002.5 023 401.1 401.1 049.7 ---.- 062 00000 00627 ----- 053.7 ---.- ---.- 024.0 D---110101 BTW, what FW versions does your device have? Quote Link to comment Share on other sites More sharing options...
jhay Posted September 27, 2015 Share Posted September 27, 2015 QVFW (VERFW:00003.10QVFW2 (VERFW2:00000.31 Quote Link to comment Share on other sites More sharing options...
StephanT Posted September 27, 2015 Author Share Posted September 27, 2015 Interestingly you don't seem to need the CRC at all when sending commands - at least commands that query the status only (i.e. not changing settings) for instance, to get the time I only need to send QT<CR> in stead of the official QT<CRC><CR>, hence no need to compute any CRCs... at least for now.. ;-) Quote Link to comment Share on other sites More sharing options...
StephanT Posted September 27, 2015 Author Share Posted September 27, 2015 QVFW (VERFW:00003.10 QVFW2 (VERFW2:00000.31 yip, I have the same for both... I've downloaded the latest.. but am a little weary of updating... Quote Link to comment Share on other sites More sharing options...
StephanT Posted September 27, 2015 Author Share Posted September 27, 2015 Are all infinisolars protocol ID# 16 ? QPI (PI16 Quote Link to comment Share on other sites More sharing options...
jhay Posted September 27, 2015 Share Posted September 27, 2015 Are all infinisolars protocol ID# 16 ? QPI (PI16 Quote Link to comment Share on other sites More sharing options...
Wetkit Posted September 28, 2015 Share Posted September 28, 2015 I was wondering, according to Voltronics, the Infini solar Gridtie output can be remotely controller, sometimes called gridtie limiting. I have way more PV than load, but running all the load on the UPS output side will cause the inverter into overload. Now with my pre-paid meter, pushing anything back to the grid causes the meter to disconnect. So, I would like to install a power meter just after my pre-paid meter. Then sending that power info to the Infini controlling my ultimate power usage as close to ZERO as possible. Now I see EXSolar have build such a metering device with interface to work with the Fronius inverters, but they unwilling to expand to other brands. Perhaps somebody here can figure out the software part? I have a friend that builds GPS, SMS and Ethernet communications interfaces for Elster Power meters, so perhaps you/we can hack something together? Quote Link to comment Share on other sites More sharing options...
StephanT Posted September 28, 2015 Author Share Posted September 28, 2015 it would be very cool if they would cater for just even an external current measurement input... the inverter already has the voltage... so some more internal software.. and you could theoretically control the grid power feed... that's sort-of what the Solax does... it has a CT which you place just behind the grid meter (house side of course) and then the grid feedback is in parallel with the rest of your house load... I did consider the solax, but unfortunately it's EPS (Emergency power supply) that supplies the load emergency load when there is no grid, takes 5s to kick in... so any outage still trips your emergency load and then it comes back up in 5 seconds... Quote Link to comment Share on other sites More sharing options...
StephanT Posted September 28, 2015 Author Share Posted September 28, 2015 has anyone managed to hook up the infini's to http://www.pvoutput.org ? Quote Link to comment Share on other sites More sharing options...
Chris Hobson Posted September 29, 2015 Share Posted September 29, 2015 How do you get the data out? If I could get the data in a CSV format I would be very happy. Quote Link to comment Share on other sites More sharing options...
Gnome Posted September 30, 2015 Share Posted September 30, 2015 Why dont you decomplite the Solar Power app that works with the Infini solar. Then you can see what each field is. I am still going through the Watchpower app, but here you can see all the commands. public class Command { public Command() { } public static final String QPI = "QPI"; public static final String QID = "QID"; public static final String QID2 = "QID2"; public static final String QSID = "QSID"; public static final String QVFW = "QVFW"; public static final String QVFW2 = "QVFW2"; public static final String QMD = "QMD"; public static final String QPIRI = "QPIRI"; public static final String QVFTR = "QVFTR"; public static final String QPIHF = "QPIHF"; public static final String QPICF = "QPICF"; public static final String QSVFW2 = "QSVFW2"; public static final String QPIGS = "QPIGS"; public static final String Q3GV = "Q3GV"; public static final String Q3GC = "Q3GC"; public static final String Q3GW = "Q3GW"; public static final String Q3AV = "Q3AV"; public static final String Q3AC = "Q3AC"; public static final String Q3AL = "Q3AL"; public static final String Q3AW = "Q3AW"; public static final String QMOD = "QMOD"; public static final String QPIFS = "QPIFS"; public static final String QSPIFS = "QSPIFS"; public static final String QTPIFS = "QTPIFS"; public static final String QT = "QT"; public static final String QFLAG = "QFLAG"; public static final String QFET = "QFET"; public static final String QEY = "QEY"; public static final String QEM = "QEM"; public static final String QED = "QED"; public static final String QEH = "QEH"; public static final String QBYV = "QBYV"; public static final String QBYF = "QBYF"; public static final String QGOV = "QGOV"; public static final String QGOF = "QGOF"; public static final String QOPMP = "QOPMP"; public static final String QMPPTV = "QMPPTV"; public static final String QMCHGCR = "QMCHGCR"; public static final String QMUCHGCR = "QMUCHGCR"; public static final String QPVIPV = "QPVIPV"; public static final String QLST = "QLST"; public static final String QTPR = "QTPR"; public static final String QDI = "QDI"; public static final String QDI2 = "QDI2"; public static final String QSTS = "QSTS"; public static final String QGLTV = "QGLTV"; public static final String QADI = "QADI"; public static final String QVB = "QVB"; public static final String QCHGC = "QCHGC"; public static final String QMCC = "QMCC"; public static final String QII = "QII"; public static final String QPIBI = "QPIBI"; public static final String QCHGS = "QCHGS"; public static final String QPINBI = "QPINBI"; public static final String QFT = "QFT"; public static final String QDM = "QDM"; public static final String T = "T"; public static final String SON = "SON"; public static final String SOFF = "SOFF"; public static final String TN = "T"; public static final String CT = "CT"; public static final String BZOFF = "BZOFF"; public static final String BZON = "BZON"; public static final String SN = "S"; public static final String SNRM = "SNRM"; public static final String CS = "CS"; public static final String TL = "TL"; public static final String ST = "ST"; public static final String EPO = "EPO"; public static final String DPO = "DPO"; public static final String CLR = "CLR"; public static final String FGE = "FGE"; public static final String FGD = "FGD"; public static final String CHTH = "CHTH"; public static final String CHTL = "CHTL"; public static final String QCHT = "QCHT"; public static final String POP = "POP"; public static final String PCP = "PCP"; public static final String PGR = "PGR"; public static final String BATLOW = "BATLOW"; public static final String BATUN = "PSDV"; public static final String PBT = "PBT"; public static final String F = "F"; public static final String PE = "PE"; public static final String PD = "PD"; public static final String BATN = "BATN"; public static final String BATCN = "BATCN"; public static final String CHGC = "CHGC"; public static final String DAT = "DAT"; public static final String PSF = "PSF"; public static final String PGF = "PGF"; public static final String PLV = "PLV"; public static final String PHV = "PHV"; public static final String GOLF = "GOLF"; public static final String GOHF = "GOHF"; public static final String GOLV = "GOLV"; public static final String GOHV = "GOHV"; public static final String OPMP = "OPMP"; public static final String MPPTHV = "MPPTHV"; public static final String MPPTLV = "MPPTLV"; public static final String PVIPHV = "PVIPHV"; public static final String PVIPLV = "PVIPLV"; public static final String LST = "LST"; public static final String PF = "PF"; public static final String GLTHV = "GLTHV"; public static final String GLTLV = "GLTLV"; public static final String GORV = "GORV"; public static final String GORF = "GORF"; public static final String V = "V"; public static final String MCHGC = "MCHGC"; public static final String MNCHGC = "MNCHGC"; public static final String MCHGV = "MCHGV"; public static final String PBCV = "PBCV"; public static final String PBDV = "PBDV"; public static final String F50 = "F50"; public static final String F60 = "F60"; public static final String ID = "ID"; public static final String REEP = "REEP"; public static final String VB = "VB"; public static final String BPVA = "BPVA"; public static final String BSVA = "BSVA"; public static final String L1VA = "L1VA"; public static final String L2VA = "L2VA"; public static final String L3VA = "L3VA"; public static final String SL1VA = "SL1VA"; public static final String SL2VA = "SL2VA"; public static final String SL3VA = "SL3VA"; public static final String I1VA = "I1VA"; public static final String I2VA = "I2VA"; public static final String I3VA = "I3VA"; public static final String P1VA = "P1VA"; public static final String P2VA = "P2VA"; public static final String P3VA = "P3VA"; public static final String AUTO = "AUTO"; public static final String DSPAR = "DSPAR"; public static final String MCUAR = "MCUAR"; public static final String FT = "FT"; public static final String DM = "DM"; public static final String PVN = "PVN"; public static final String PPS = "PPS"; public static final String QPPS = "QPPS"; public static final String SOPF = "SOPF"; public static final String QOPF = "QOPF"; public static final String PDG = "PDG"; public static final String QPDG = "QPDG"; public static final String PPD = "PPD"; public static final String QPPD = "QPPD"; public static final String PFL = "PFL"; public static final String QPFL = "QPFL"; public static final String PCVV = "PCVV"; public static final String PBFT = "PBFT"; public static final String QPGSN = "QPGS"; public static final String POPM = "POPM"; public static final String PPCP = "PPCP"; public static final String MUCHGCR = "MUCHGC"; public static final String PPVOKC = "PPVOKC"; public static final String PSPB = "PSPB"; public static final String QPGSN0 = "QPGS0"; } This is an awesome list. The problem is figuring out what each of these do/mean Quote Link to comment Share on other sites More sharing options...
Gnome Posted September 30, 2015 Share Posted September 30, 2015 I can post the de-compiled code on here. You can see how it works. Probably makes sense to post it as an archive I'm assuming it is a significant amount of code to post-process the output of each command Quote Link to comment Share on other sites More sharing options...
edmundp Posted September 30, 2015 Share Posted September 30, 2015 O for the love of Pete! I will pay you all to do this! I know at least one other non forumite that will pay for a decent app perhaps integrating victron bmv readings. Must do aggregate calcs as well and graphing. Like seriously man. Quote Link to comment Share on other sites More sharing options...
StephanT Posted October 1, 2015 Author Share Posted October 1, 2015 Who is Pete? ;-) Edmund what unit do you have? My preference is still to have a little device that will read all the info and post it to the cloud.. then you can keep an eye on it from anywhere and use what ever device pleases you... of course that would mean that you need internet access at your home.. but I guess we can (almost) take that for granted... Quote Link to comment Share on other sites More sharing options...
edmundp Posted October 1, 2015 Share Posted October 1, 2015 Didn't want to use the G word... I have an old lappie running on it 24/7. Not perfect but use it for other services as well so it will in any case remain. Agree with the web service but would be the final touch imho. Quote Link to comment Share on other sites More sharing options...
edmundp Posted October 1, 2015 Share Posted October 1, 2015 O. Standard Axpert 5Kva MPPT. Quote Link to comment Share on other sites More sharing options...
StephanT Posted October 4, 2015 Author Share Posted October 4, 2015 I used a serial port monitor and connected to SolarPower through the serial port and logged the data. interesting is that the command does not have a checksum/CRC at all... only the response has... I tried to post the complete log... always good to have an original reference. but I got the "Post too long" error... Later I'll isolate them into individual commands.. Port opened by process "javaw.exe" (PID: 2284) Request: 10/4/2015 2:30:14 PM.27064 (+0.0020 seconds) 51 50 49 0D QPI. Answer: 10/4/2015 2:30:14 PM.33264 (+0.0596 seconds) 28 50 49 31 36 9C AF 0D (PI16 Quote Link to comment Share on other sites More sharing options...
riogrande75 Posted May 3, 2016 Share Posted May 3, 2016 Hi! I know this thread is very old - but i found nothing else where the protocol PI16 was analyzed in depth. I wrote a php script to read our values from my Inini 3kwPLUS inverter vi serial and delivers it to 123solar (a open source logger). This includes a uploader to pvoutput.org as well. Due to the missing protocol description, i still need to buy a modbus card to control the feed-in power. Or did anyone succeed in finding the command for this? Quote Link to comment Share on other sites More sharing options...
superdiy Posted May 3, 2016 Share Posted May 3, 2016 1 hour ago, riogrande75 said: Due to the missing protocol description, i still need to buy a modbus card to control the feed-in power. Or did anyone succeed in finding the command for this? Decompile the solarpower java app to find all the commands you need. Quote Link to comment Share on other sites More sharing options...
riogrande75 Posted May 3, 2016 Share Posted May 3, 2016 24 minutes ago, superdiy said: Decompile the solarpower java app to find all the commands you need. I remember there was a .rar file in this thread with the decompiled version. The download does'nt work anymore. Does someone still have this file (DeCompile.rar)? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.