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

Hello everyone,
Thank you for the wonderful work regarding this integration. I am new to home assistant but I love to tinker. I have a SolaX inverter x3 pro model. With the plethora of options available I was wondering if anyone can recommend a rs485 to usb/ethernet module that has been proven to work. I appreciate rs485 is a physical definition so any module should work but you know how it is. Any thoughts/suggestions would be greatly appreciated.

Kind Regards
James

Did you look at the wiki pages ?

and
https://github.com/wills106/homsassistant-solax-modbus/wiki/Compatible-RS485-Adaptors

@cavester are you able to try ā€œ0.5.0b7 Pre-releaseā€ when you can? X1AC should hopefully be fixed from a detection point?

Itā€™s still work in progress while we work out what is / isnā€™t on the X1AC compared to the Gen3 Hybrid.
When setting up the configuration donā€™t select any Tick Boxes! It should auto detect.

Is this X3 Pro an X3-MIC? From about 2017 - 2019?

If so we might need to do a bit more work on the Integration to support your Inverter. If it is an X3-MIC the Baud rate is 9600

It worked!
I didnā€™t select any of the versions and now have a huge list of outputs! Many not in the package.
Am I right in believing I can use

number.solax_forcetime_period_1_max_capacity

To set the maximum charge level from force charging to leave space for my excess solar production?

Really looks great!

Mark

I believe thatā€™s how it works.

But itā€™s a bit untested on the X1AC only yourself and @Mouxy I believe have this Integration running on the X1AC at the moment. So some of the number / selects are not fully tested.

On my Gen3 what I tend to do is have a time set for Grid charging say 03:30 - 04:30. Keep it in Self Use. If I need charge battery from Grid put it in Force Time. If I need longer to charge I might put it 03:30 - 05:00 etc. I would have a read on the Wiki on my GitHub for ideas.

Now we are over Winter I have enough PV and Battery I donā€™t tend to need to move from Self Use mode.

Yeah, itā€™s complicated for me, we have a ev too so I have to force charge the battery to avoid it emptying into the car when it charges on cheap electric, then pay for energy in the morning, but if I force charge to 100% I end up putting energy back to the grid in the afternoon, Iā€™m hoping I can balance it all out with this feature.

Iā€™ve set force charge to 85% and will let you know tomorrow if it works
Here are the outputs I have including those unavailable, let me know if you want any more info:






Stange, I believed we had filtered out the PV related sensors ā€¦

Thanks for the info.

I have a solar PV Diverter that puts excess PV into the hot water tank.

When the Diverter is running I tend to put the Inverter into Backup mode, this way the battery bank doesnā€™t discharge. As the Inverter and Diverter can put up a fight on the odd occasion even though the Diverter is meant to only kick in once export to the Grid is X amount.

Perhaps you could adapt the automation?

alias: Turn on Solar Diverter
description: ''
trigger:
  - type: battery_level
    platform: device
    device_id: an id number
    entity_id: sensor.solax_battery_capacity
    domain: sensor
    above: 95
condition:
  - type: is_power
    condition: device
    device_id: an id number
    entity_id: sensor.solax_pv_total_power
    domain: sensor
    above: 500
action:
  - service: select.select_option
    data:
      option: Back Up Mode
    target:
      entity_id: select.solax_charger_use_mode
  - device_id: an id number
    domain: select
    entity_id: select.myenergi_eddi_operating_mode
    type: select_option
    option: Normal
mode: single

Reverse automation

alias: Turn off Solar Diverter below 100w PV
description: ''
trigger:
  - type: power
    platform: device
    device_id: an id number
    entity_id: sensor.solax_pv_total_power
    domain: sensor
    below: 450
    for:
      hours: 0
      minutes: 3
      seconds: 0
condition: []
action:
  - device_id: an id number
    domain: select
    entity_id: select.myenergi_eddi_operating_mode
    type: select_option
    option: Stopped
  - service: select.select_option
    data:
      option: Self Use Mode
    target:
      entity_id: select.solax_charger_use_mode
mode: single

@cavester : Just to be sure to understand why the PV related sensors are still visible: what are the 5 starting characters/digits of your serial number?

Hi infra,

Itā€™s an X1-AC.
I enabled all the sensors so I could show everything I was receiving.

@cavester Yes, but for the autodetection of the model type, we need to know the first 5 digits of the serial number, not the model name. We assumed that for the X1-AC, the serial number would start with XAC36
If your system starts with other digits, this would explain why we show everything.

Ok,
Itā€™s XAC362F, so should have worked?

Indeed, that should have worked ā€¦ I will reverify the code tomorrow. Thanks

Thanks Will,

I had wondered if there was a way to do that, hadnā€™t thought backup would solve it, many thanks!

OK, I have found the error why the autorecognition of AC or HYBRID did not work. I created a github pull request with the correction. @wills106 can publish a new beta then

Hi @wills106
Thanks for the reply. It is a new build, only installed a few months back. From my understanding it is one of the newer models, X3 MIC PRO https://www.solaxpower.com/x3-mic-pro/

There is no direct LAN interface exposed, however there is an RS485 port available for direct connection to a 3 phase energy meter as well as metering directly off the inverter using an RJ45 connector that I would need to wire up to a converter. I am not interested in the energy meter connection (ill likely use a Shelly 3em) but having direct access to the inverter data would be great.

thanks in advance

@aeroboy86 :
On the other inverters (hybrids mostly), the RS485 port for the metering is not the same port as for the remote control. Both RS485 busses are on different connectors and serve completely different purposes.
I had a quick look at the manuals. Aparently there are 2 versions: the G1.1 and G2, which seem to be quite different. The G2 version seems to have 2 different RS485 pairs on the same RJ45 connector, but the documentation does not clarify which pair is used for metering and which pair for monitoring. Correction: The least I can say is that the manual is very confusing.
Do you have a G1.1 or G2 version ?

I have just pushed out 0.5.0b7a which should correct the detection of the X1AC from the Hybrids as the X1AC was picking up the extra PV Sensors that donā€™t exist on the AC Models.

Regarding the X3 MIC Pro we will have to see if this version uses similar registers to the Hybrid or if it still uses the older register locations from the document from 2017 - 2019.

@aeroboy86 Is your inverter connected without a Modbus Power meter such as the Eastronā€™s SDM630 then? Are you using CT Clamps, or is it just set to export any Solar PV you generate?

Does the X1 Hybrid expose whether or not it is currently limiting export via MODBUS? The SolarEdge inverters do, they have a special status when the export limit is curtailing power output.