Universal Solar Inverter over Modbus RS485 / TCP custom_component (Growatt, Sofar, SolaX, Solis)

Thanks, I need something with higher temporal resolution, similar to the 30 minute segment wills106 posted.

It does look like you had a few spikes between 10 and 11 where you fed into the grid from your battery for a short second. Toaster, kettle, microwave?

Like this,


I know I get these spikes when I use for example the induction stove. When I don’t have maximum power on it it switches on and off and the inverter cant handla the rapid changes. Microwave is the same I guess.

Yeah interesting, thanks. At around 7:04 I see it happen, you pull almost 1kW from the grid, then that load switches off? but the inverter overshoots and pushes 1kW into the grid for a second. I guess everyone has this problem.

Hi Mark. I know that this thread is a bit old now. I am using Node Red for all my comms with my Solax inverter. Like you I can read all the registers ok but am struggling to write to them. did you ever get to write to the registers using Node Red ?. Thanks for any help

Hi
I abandoned trying to write to the registers as I was getting unpredictable results. I now have full control of the battery settings by using ‘Solax’ formatted commands to the WiFi interface directly. This is available if you don’t configure the WiFi interface; as out of the box it is an open WiFi access point which will accept the commands sent from Node Red.
Happy to share some flows if you have this option.
Mark

Hi Mark
Thank you very much for your reply, I also have full control of my inverter using the WiFi interface, I did a short YouTube video on the method back in November 2019.
The reason I am now looking into the ModBus method is because on another forum someone has posted that if the WiFi adaptor is firmware updated then you no longer have access to the inverter using the POST commands. The new Solax Cloud Android app seems to have more authentication built in, I have not looked into it in any detail as I really don’t want to break my setup at the moment. I have quite a bit of Node Red monitoring and controlling my inverter to stop and start battery discharge, force charge etc, I imagine you have the same. I can now read all the registers (using ModBus) that I need to duplicate my WiFi setup BUT can’t set any registers. Did you have any success at all ? I get these errors
“PortNotOpenError: Port Not Open” (I can read so it must be open)
"Modbus Failure On State sending
I feel that if it can be done in HA then I should be able to get it working in NR.
Ben

Hi Ben

I think the risk could also apply if any of the registers are changed by a firmware upgrade as well. I don’t think the system applies firmware automatically so hopefully will not become an issue. When my supplier had issues with the second battery a firmware upgrade was needed and applied manually.

I stopped trying the Modbus route after I crashed the inverter - requiring a full shutdown to clear, so did not get far. I agree if it can be done by HA then it should be possible with Node Red.

Regards
Mark

Hybrids connected via the inbuilt Ethernet Port can be upgraded OTA.

I don’t know if Pocket WiFi / Pocket LAN can be updated OTA though?

Hi Mark
Thanks for the heads up re crashing inverter. I think I will forget about the Modbus route for now. I really don’t want any problems with my inverter. I also think that OTA upgrades are possible so I make sure that my inverter cannot make any connections to the outside world (SolaxCloud), perhaps I am a bit paranoid.
As I don’t use SolaxCloud I log all my data to PVoutput which I actually think is better. Thanks for the offer of sharing some of your Node Red flows, I am always interested in what others are doing with their Solax stuff Do you have the Solax X1 Hybrid ?. Do you try to benefit from the Octopus Agile tariff with your flows ?

Hi Wills
Nice to catch up with your on a different forum, Been reading a lot of your stuff, it has been helpful even though I am a Node Red fan

Would love to know how you did that?

If you are just reading registers that shouldn’t be possible as long as you are not trying to request registers above the specified pole rate.

@fishface Just noticed the messages on Oct forum.

Been very busy with work for the past few months so not been very active, although I have been chipping away in the background.

I don’t expect that you have any advice as all you work has been done in HA, but I will ask anyway. I can read all the registers gleaned from your g3.yaml document no problem, but when I try to write I get “PortNotOpenError: Port Not Open” although I think it must be as I can read from it just a second before. I am writing to FC6, address 32decimal and id 255.

I have never used Node-Red so can’t really give any advice.

But I have Noticed there is a ModBus Write and a ModBus Flex Write. Not sure what the difference is?

I take it you can define the port that is used in the communications ( 502 )

Hi Will. That’s OK. Yes you can define the port, The difference between the two nodes is the Modbus Write you fill in the parameters (address etc) on the node and the Flex Write you pass the parameters to the node. Its a shame you are not into Node-Red it really is great for Home Automation flexibility, you will probably say the same to me re HA.

Hi Mark. Where I am really lacking in my Node-Red flows is an easy way to set Force Time Start charge time and End Charge time. At the moment I just change the times in the Post like this
ChargeStartTime1HourMinute&ChargeStartTime1HourValue=14&ChargeStartTime1MinuteValue=00&pwd=admin& HTTP/1.1
(sets start charge time to 14:00.
It would be great to have some kind of Dash Board clock to set it in or set it when the Agile rate is low. maybe you have a flow for this.

you should ask support from the inverter OEM.
I have a Solaredge inverter and they are publishing a document with all this kind of details

I haven’t automated a great deal of stuff yet. So not outgrown the yaml automations so far…

But who knows in the future?

Hi Roberto. I am afraid that SolaX really don’t want owners having access to the inverter other that the SolaX way, a bit like Apple. If I ever buy another inverter it won’t be Solax, the hardware is really good but not customer support when it comes to non standard stuff. In all other respects they are OK

Sounds like you are being slightly tempted to the dark side :slight_smile: I will keep my fingers crossed

A ‘cron’ type flow would be very useful but I have not found anything yet. I manage ‘Min Battery Charge’, ‘Grid Charge’ and ‘Workmode’. To do this I get the Octopus Agile rates for tomorrow late evening and then setup how I want the battery to behave for each half hour slot (I have a summer mode and winter mode for this logic). I then check the inverter settings every minute and if they don’t match the required setting it will update them.

Mark