Universal Solar Inverter over Modbus RS485 / TCP custom_component (AlphaESS, Growatt, Sofar, SolaX, Solinteg, Solis, SRNE, Swatten, TIGO TSI & Qcells Q.Volt Hyb)

So basically it shouldnt be Idle or Normal, but for example Self-use and then writing will work?
And there isnt a simple way how to wake it up? I guess the Battery awaken button is of no use here right?
I have read the part about power control but that seemed too complicated for me right now + it seemed like its not tested enough.
Anyway, I will try some write commands with PV production on and in Self-use mode later to see if it works, thank you very much.

If “Run Mode” is in “Normal Mode” you should be able to change things such as “Charger Use Mode” from “Self Use Mode” to “Manual Mode” for example.

If “Run Mode” is “Waiting” or “Idle Mode” you won’t be able to send commands to the Inverter. But in “Idle Mode” and timers should still function for example to charge from the Grid.

I’m convinced there is an extra register we don’t know about to wake the Inverter up.
On my Gen3 if I change “Charger Use Mode” from “Self Use Mode” to “Force Time Use” from the cloud and the Inverter is in “Idle Mode” the Inverter instantly wakes up. But doing it from the Integration, the Inverter doesn’t wake up.

1 Like

Yes, I was now able to change Charger use mode in Normal mode.
I have just tried also the Export control user limit and looks like now the changes are saved as well, strange.
Thank you very much for the explanation, perhaps you manage to pimp out the integration when some better modbus manuals show up. This is the best one I know about so far btw:

I agree, ‘modbus power control’ looks a bit complicated but I am sure you will be using it one day as it is simpler than it looks (especially if you create automations). The feature is relatively new, and the warning in the documentation is mainly meant to indicate that we can still change the behavior.

Maybe some more clues to what is going on with my ‘Today’s Energy’ (Yield). This has always been reported, with or without the new meter fitted on 20th Jan. However, HA entity history shows “No state history found” before 12th Jan. From then on there seems to be sensible-ish rounded readings showing approx 1% of the correct value, sampled every 2 hours. Does that make any sense? (correct values in yellow)

In the absence of knowing what is amiss with this sensor, to display the correct value I have used the “solax total solar energy” sensor (which shows yield from battery as well) with a statistics card showing difference from yesterday.

guys got a real strange one im trying to figure out.

Everything was working fine, then i stupidly updated some components to home assistant to their latest versions as of yesterday.

My power flow digram is now not working

I get the error as per the below
"Configured ‘sensor.solax_pv_total_power_2’ entity was not found.

image

So i noticed modbus and some entities changed

This entity ‘sensor.solax_pv_total_power_2’ has now become ‘sensor.solax_pv_power_total’

So in my ui-lovelace.yaml i changed the code to this

        #generation_entity: sensor.solax_pv_total_power_2
        generation_entity: sensor.solax_pv_power_total

Restarted HA yet i still get the error?

Its still trying to reference sensor.solax_pv_total_power_2 which doesnt exsist so not sure if this is nested else where (as far as im aware its just in my Yaml file)?!

Any help or advice would be appricated pulling my hair out!

Hi Jaroslav, I have the same Solax as you do. I have few questions about the the connection via the Modbus Ethernet. Were you able to figure it out on your Solax? Thaks a lot

Hi, I have the same Invertor as you have and I found out that it shall have Modbus via Ethernet (not via RS485), so RS485 Adapter (waveshare) should not be used the COM. Were you able to solve it somehow?

To get _2 the entity must have gotten added a second time at some point in the past.

A number of entities got renamed last Nov / December time to harmonise them.

If a lovelace card is still trying to look for a different sensor even though you have renamed it in the file, have you tried to do a hard reload of the web page? (Ctrl+F5)

Hello,

It was because sensors made dashboard to reset.

The error showed up again.

I tried with plain modbus since a week :

- name: Solis Total Generation
      slave: 1
      address: 33029
      count: 2
      input_type: input
      data_type: uint32
      lazy_error_count: 5
      scan_interval: 3600
      scale: 1
      precision: 1
      device_class: energy
      state_class: total
      unit_of_measurement: kWh

And everything seems fine… is this thanks to the lazy_error_count ?

Maybe worth noticing I am connected modbus TCP through Solarman DLS L stick

Thanks I wasn’t aware of this “lazy_error_count” count as I haven’t used the built-in Modbus in a few years.

We could possibly look into a similar approach.

thanks fixed it was me being a muppet

I am not advanced user and could not determine how you initiate modbus connection so I have no clue about the complexity it would represent to do so. If you can easily do it I am interested ! If I can help in any way tell me

hey petrs99 , Judu,
not all Solax Inverters have Modbus-TCP but all have Modbus-RTU.
For Modbus-RTU you should take a look at this project:
It works with Solax X1/X3 and Growatt and others

This custom_component has supported Modbus-RTU for a long time now.

Any owners of Growatt Inverters out there?

Just released preliminary support for Growatt Inverters:

AC Battery Storage:

  • SPA

Hybrid:

  • SPH
  • TL-XH

PV Only:

  • MAC
  • MAX
  • MID
  • TL-X

Please read What Growatt Inverter are you using? · Discussion #312 · wills106/homeassistant-solax-modbus · GitHub as initially the Integration won’t do anything, you need to feedback so I can add to the next release.

2023.02.1

Growatt:

  • New Brand of Inverter. See #312 for further details.

Solis:

  • Charge/Discharge Times moved to write_registers
    • Changing the times by them selves don’t write to the Inverter, once you have finished setting all times, you press the Button “Update Charge/Discharge Times” The values will then be written to the Inverter in a write_registers block of multiple registers being written at once.
    • Charge / Discharge Times don’t feedback updates from the Inverter see #200 (comment)
  • Added “Backflow Power”
  • Corrected scale for:
    • “Battery Charge Current”
    • “Battery Discharge Current”
  • Corrected stepping for:
    • “Timed Charge Current”
    • “Timed Discharge Current”
  • Introduced ‘MAX_CURRENTS’ for Battery Charge / Discharge to align the Values to the Inverter specific limits.

Sofar & Solis:

  • Added RTC sensor
  • Added button Sync RTC

SolaX:

  • Additional languages for sensor “Language”

SolaX Gen4:

  • Add 2 remotecontrol modbus power modes: Self_Use and Feedin_Priority emulations

I seeing some odd behaviour but not 100% sure if its this integration or more likely the Solax firmware. Solax updated my inverter and battery firmware at more or less the same time I updated the integration to 2023.02.1 :frowning:

I am seeing my house load get pegged to my PV total for periods of time. Highlighted in the House Load/Total PV power graph below

bringing a big load online usually unsticks them, for a while.

You can see both the House load and PV total show exactly the same value

and here is it manifested in the energy graph

Screenshot 2023-02-02 110322

Due to the way the Solax app and Cloud work I am struggling to see similar behaviour using Solax tools and therefore am struggling to get Solax to take me seriously.

I suspect this is a Solax issue introduced with my recent Solax firmware update rather than an issue with this integration

X1 G4 6.0D

Inverter Master version 31
Firmware version manager 30

Has anybody come across this or have any suggestions how I can get Solax to take note?
Would also be great if I can definitively rule out the integration.

any suggestions would be most welcome.

Mark

I noticed a similar behavior since my last solax upgrade. As this upgrade solved another problem (slight preference for import over export), I am glad with that upgrade, and I personnally do not have a big problem with this apparent locking of house load and PV. As soon as the difference is more than about 100W, both measures behave independently again.
Maybe the parameter pgrid bias changes this behavior, as the introduction of this parameter solved my minor problem with slight bias for import.

Thanks for confirming the behaviour. It does seem to occur only when the values are close, like you say, once the difference gets bigger it sorts it self out.