-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SoC mode set to charge battery actually discharges it #10
Comments
@saidlm Domoticz.Debug("Starting ModBus Remote Control.")
builder = BinaryPayloadBuilder(byteorder=Endian.BIG, wordorder=Endian.LITTLE)
modes = (0, 1, 2, 3, 7)
mode = modes[int(int(self.__RC_SETTINGS['Mode'])/10)]
builder.reset()
builder.add_16bit_uint(mode) # Remote Control Mode
builder.add_16bit_uint(1) # TargetSet type = SET
builder.add_32bit_int(int(self.__RC_SETTINGS['PowerTarget'])) # Target Active Power
builder.add_32bit_int(0) # Target Reactive Power
builder.add_16bit_uint(int(self.__RC_SETTINGS['DurationTime'])) # Time of Duration
builder.add_16bit_uint(int(self.__RC_SETTINGS['SOCTarget'])) # Target SOC
builder.add_32bit_uint(int(self.__RC_SETTINGS['EnergyTarget'])) # Target Energy
builder.add_32bit_int(int(self.__RC_SETTINGS['ChargerPower'])) # Charge / Discharge Power
builder.add_16bit_uint(int(self.__RC_SETTINGS['TimeOut'])) # Remote Control Timeout
payload = builder.to_registers() and although the number of bits seems right the order does not match the above table at all. For example, Target Energy should come before the Target SOC, and all of the bits of "actual" values below the mode are not accounted for. |
@saidlm Just to make sure that we followed the same steps, you:
|
Yes, right. M. BTW. What is the version of your inverter software? |
I hope this is the info you're after: DSP: 2.07 |
@saidlm |
Yess, it's probably because of the inverter's firmware version... Version 3.29 of the protocol document was the latest version that I could find, and the registers look quite different than the ones you've shown above. Strangely, they don't provide a table relating to the inverter's firmware version. |
It looks to me for different model. I have G4 and the plugin is written for G4. The documents which I have uploaded to doc folder are also for G4. V3.24 is the latest one which I have found. |
Back to the software version which I am running on it. My Internal code is now 43 09 42. It includes versions v1.43 is for DSP and 1.42 is for ARM. I hope it is the last version. It was updated by my supplier about 10 day ago. BTW. I have found this link: https://app.box.com/s/3nvo7ic523fhojf8uuto105q9a8dgk9n/folder/79352264617 Martin |
From my side the firmware version are DSP: 2.07, ARM: 2.03 and the internal code is 26 04 24 03. |
Honestly speaking I don't know exactly what is software version. According to information from the link software version is 1.4X now. The same information I have from my supplier. And it corresponds with internal codes. Martin |
I have look for changelogs etc. I have also asked my supplier for that but have no success :-(. The answer is that they are not allowed to share this kind of information. Martin |
@saidlm Cheers. I've contacted solax regarding this issue and will let you know if they send me anything useful. If it is a version-related problem I can always update the firmware to the latest version, which hopefully will be 1.4X as yours. In the remote control this is labelled as "Charge Only" I believe. I will test to see if there is any difference relatively to mode 3, although it is unlikely... |
@saidlm I was able to get confirmation from Solax that I should use v3.21 for this inverter. However, when I look through this document there is no table with the parameters as the one that you have shown above. Actually, there is no table concerning "write multiple registers" at all (only read registers and single write register)! I assume that you have used v3.24 instead? I can ask to Solax what should the write multiple registers be, although if you also have a X1-Hybrid-G4 it shouldn't matter... |
Try to ask your supplier or Solax directly for the upgrade of your firmware. They can do it remotely. I hope it will solve the issue. Unfortunately multiple registers is only way how to control the inverter. Any other possibility is using EEPROM which is wrong way. Martin |
I'm happy to report some progress. My firmware is now updated to DSP v1.45 and ARM v1.42. @saidlm Any thoughts? Thanks for the continued support. |
Hi Martin. Another update. Solax have come back to me with the most up-to-date document v3.34 compatible with the inverter (attached) The write multiple register table is as follows |
It is awesome. I have already uploaded it into doc folder. Many thanks for the document! Martin |
Well...I'm happy that you're happy, but my problems just keep getting worse... Today during night my battery dropped to 10%!!! |
Things that I have/am testing:
@saidlm Can you tell me what mode you are using and what are its settings? These are in Settings -> User Settings -> "whichever mode you're using". For the self-use these are |
To attempt to rule out any issues with the form of the payload I've added the following debug line to the code Domoticz.Debug(f"Ready to write multiple registers at 0x: {payload}") and this is the output (which seems correct) for when I try soc mode to charge up to 100% at max 2000W in 600s
The result it's bizarre...as it charges the battery only from the PV and uses the grid exclusively to power the house. It's as if there is something blocking it from using the grid to charge the battery...I just cannot understand WHAT (so unnerving)... |
Hi, Martin |
Many thanks Martin. When you say interval do you mean the At least I have been able to make the inverter charge the battery during night when energy is cheap, and so I am safe for now, although I'd like to be able to automate it using your plugin. It's worth stating that it was quite difficult to configure the inverter to charge in Self mode during night. I had to change the options of the mode to:
Only after all three of the above were configured did it start charging during night. |
Hi, Well it looks to me that in general it works properly. Martin |
If the only difference is the mode, then I'll try with Backup mode instead of self-use and see if it works. |
Look carefully at this part from Solax Academy document: May be it is the answer to some of our questions. Martin |
Hello,
Today I've tried to charge the battery during night using the new remote control functionality, specifically SoC mode 3. The controls were set to charge up to 75% in a maximum time of 3000s and a maximum power of 1000W



Next I've started the mode, and as you can see in the above picture the actual values seem to be correct.
However, what actually happened is that the inverter started sending 3000W from the battery to the grid...
My guess is that the remote control timeout of 3000s is mixed up with the control charge/discharge power, which then is set at 3000W, and the SoC target might be mixed with one of the other variables set at 0 (Power/Energy Target or Duration time) and therefore it tries to reach a fully discharged state.
The text was updated successfully, but these errors were encountered: