Double?
So finally after more than 2 years I got my Solis inverter firmware upgraded. As my inverter and firmware were old, over the air upgrade was not possible. It took almost 2 months of negotiations with Solis support to get upgrade stick sent to me. As it came from UK, had to pay taxes on it also. Now the biggest changes are in the battery area. Originaly I only had 4 options and now there are 23. Also it does allow to change 'Control parameters' before it would allow to change but would not save all of them. The charge/discharge limit was raised from 60 to 65A and it does actually charge at that rate. The backup mode was also fixed as it was not working properly before. There is also more information provided on the screen. I would expect that there are changes on the modbus side as looks like some registry addresses were changed but I have not checked this in detail.
What fw version did you get?
As regards the new Modbus registers, if you decompile the Solis Cloud APK, it contains a full listing of both input and holding registers. 😉
/src/assets/3X_0[3,4].json
Version 33 now.
I got mine updated to version 35, but I think version 36 is out now. I haven't see any changelog.
Now that you are on a more recent release, are you able to get remote upgrades?
I've finished tiding up the code and published to Github now:
https://github.com/jmccrohan/pysolarmanv5
Let me know how you get on with it.
Thanks for code. It is working on mine but I have questions :)
How do you read and decode multiple registers? If I understand correctly I I just provide first register and then the quantity. so for example to read timestamp I would do
print(modbus.read_input_registers(register_addr = 33022, quantity = 6))
but the output I get is
2538764513312892796030158
and I have no idea how to decode it.
If I do individual registers, the output is fine but then it will take longtime to read all of them. I have similar way done but with modbusTCP and send first register and then length(quantity) but I get multiple outputs as I was reading one by one.
The output you are seeing is the six registers bitshifted to get a single value, which is what I thought most users would require. I hadn't considered your use case, but I can add new functions to return a list containing the value of each 16bit register, essentially skipping _format_response()
_format_response()
That would be great. I read more than 100 registers and to that in batches, otherwise the whole read process is way too long.
Here is my code to read modbusTCP https://github.com/NosIreland/solismon2 you can see that I have them bundled together so the read takes just few seconds instead of minutes.
Since installing a Solar PV & Battery system and going online on 20th October, my grid electricity usage is as follows;
Day rate: 70 kWh
Night rate: 481kWh (EV household hence this number being fairly high)
87% of usage on night rate.
Cannot wait until next summer!!!
What do you mean by UK and Taxes on it, any warranty item on a pre-brexit purchase that is supplied to you free of charge is not subject to import VAT.
I'm not going looking it up for you but just want to point it out, I have a replacement RCD board for my Zappi coming in next week from UK and there will be no VAT on it or any other duty.
Well technically it was not a warranty thing. As inverter was running. I just wanted newer firmware version. I did not have to pay for the upgrade stick itself which I think is ~50Euro. It was just import tax on it.
So in theory couldn't you charge a small admin fee and ship that to other Solis users to upgrade their own firmware?
I am definitely open to correction here and if so please correct me!
Get a small battery, unlock the grant and get a hybrid inverter straight away if you are more than likely going to get a battery.
From what had been posted here and read elsewhere, a standard inverter will require secondary inverter so lots of writing, and messing around (at least from my DIY perspective). Make sure you can justify a battery if going down that route.
"From what had been posted here and read elsewhere, a standard inverter will require secondary inverter so lots of writing, and messing around (at least from my DIY perspective)."
Eh ? Don't think you read that here. It adds an extra MCB / RCBO and a cable from the inverter to the board.
On the plus side, a storage inverter can be placed in a totally separate location than the solar inverter. Also, you could upgrade a solar inverter at a far lower cost than upgrading a hybrid.
Those changes have been committed and pushed to Github now. I've also updated the example client to demonstrate what has changed.
Nice work. I have tested and it is working. I will need to modify it to suit my needs as I want mqtt and also expose data to Prometheus but that is on me.
The question/feature request that I have now is to be able to modify holding registers as this is what would allow to control inverter through automation. I am doing this through modbusTCP directly. As a test example we can take holding register 43004 with function code 6 to write single register. It takes integer 0 to 59 as it holds inverter time in minutes. After setting it read single register 33026 and see if the output matches.
I am not going to hold it back and willing to help the PV community :) For anyone on the east side of the country we can meet and do the upgrade. There are no guarantees given that it will work but from what I've seen it does not break if it fails, as it has a fallback firmware on the inverter. For people further away I can post as long as you post it back.
There are couple things to note:
PM me and we will try to organize this.
The write holding register function is already there, but I didn't put it in the example for fear people who don't know what they are doing could break stuff.
https://github.com/jmccrohan/pysolarmanv5/blob/master/pysolarmanv5/pysolarmanv5.py#L185
Do you know if the Solis Hybrid supports Modbus function codes 2 or 16? Can implement if they are supported. 16 would be particular handy for stuff like changing charge from grid charge periods.
Finding the solis tcp stuff really interesting. (I've no use for it but for the likes of node red it could be very easy for others to pickup and run with it.)
You should spin that off into a new thread. It would be a great reference for people looking to do some automation, not just buried in this thread.
Yes, it does support 2 and 16.
Please make a separate thread as @graememk suggested. This one is already noisy as is
😊+1 I'd be interested in getting that to run in node-red as well
regarding writing to the registers, for control purposes, does the solis have to be set in a certain mode?
When using modbus on the sofar, you can read as much as you want, but for control it has to be put in a passive mode.
Appreciate the comment. there is an AC coupled diagram from this page
https://images.squarespace-cdn.com/content/v1/5354537ce4b0e65f5c20d562/1516270403151-HW7WH26WU8V65JI1N3ZE/AC+Coupled+Solar+battery+system+diagram+v2.jpg?format=1000w
that I was using as guidance, and I thought someone here said to add a battery to an existing system with a hybrid inverter you would need to take a cable out of the consumer unit to the 2nd inverter (storage inverter). I would love to know how it can be done easier than that. (Of course I can't find the message now).
Have not had problems writing to single registers with old firmware using node-red. Hopefully this has not changed in the new one.
And it just done as it was told? Good stuff. I only have a normal inverter, and it's dark so my inverter is off 😂.
But this could open a world of automation for people.
First day of install done, back tomorrow to finish off.
Aiming for 24 panels, 8.16kw to max out inverter.
Team arrived at 9 and started packing up when getting dark and just worked away, very tidy job so far. Just had to supply some boiling water for the tay and a few scones.
Nice work. 8kWp is a big system! Single aspect or E/W?
Single aspect, slightly ssw. Figured I'd get the extra panels fitted when the guys are here.
For those with newly installed systems, check that your system is performing as it should be (especially since output is so low in these months)
https://www.boards.ie/discussion/2058050685/
Throw up a few pics when its done. Always nice to see the finished article