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

Do you use total_yield & total_solar_energy?

Could you please take a look at this poll I created two months ago.

I want people’s feedback on what format to use for total_yield.
Do people prefer the current MWh, or would they prefer it to be kWh to match the other sensors?

Another observation: the resolution of the AC frequency is a little low, only 1 digit after the decimal separator. An extra digit would make it much more useful. A variation of 0.1 Hz is quite a lot already (at least in the Netherlands).

I don’t know if there is any more resolution or not?
I can only go off the docs, I can try though!

I am actually quite interested in why?

50Hz is what our electric is meant to be across Europe and other parts of the world.
Is there a threshold where you have issues in the Netherlands?

If you only had 49.4 or 49.5 would not being able to see 49.45 prevent you from seeing a potential power cut / Grid out situation?

@Kars Just been back over the docs and I should be able to put them back to two decimal places ie 49.45

1 Like

The frequency at the grid connection point has to be between 49,5 and bis 50,5 Hz for 99,5 % of the time, absolute boundaries are 47 Hz and 52 Hz.

No, I’m just used to seeing more accuracy. My previous SMA inverter did show the 49.45.

Are you penalised if you are out of 49.5 and 50.5?

I don’t think so, however, the inverter may have to disconnect from the grid in that case. There are settings in the inverter to set the country specific requirements.

Ahh yes we have Grid Export limits depending on G98 or G99 installations in the UK.

1 Like

I would say frequency is relatively stable where I live at 50.22 to 49.76 today. But grid voltage has been between 241.3v and 252v

Yes, high grid voltages are an issue here too, in area’s with a lot of PV.

Inverters have to disconnect from the grid in that case. I hope there is some randomness in the algorithm, otherwise all Inverters disconnect from the grid at the same time, causing the voltage to drop, they all connect again, ad infinitum…

Hm, don’t know why, but after my inverter run mode changed to Waiting, the total yield dropped to 0 10 minutes later. Daily yield is still there.
SolaX cloud does show the correct total yield.

PV Only Inverters go to sleep at night when the Sun goes down, due to lack of PV.

Your Inverter is probably in the process of going to sleep.

So I should use the daily energy sensor for the energy dashboard?

If i understand the documentation here it will interpret a jump to 0 as a new meter, so the total yield sensor can’t be used in its current form for PV-only systems. The state changes to 0 should not be sent to HA.

I just checked my statistics database, it indeed doubled the sum of total yield after the inverter woke up.

Normally we should use the total energy sensor in the energy dashboard.
Strange that a sleep cycle would reset this. Even a hybrid can go to sleep in the winter when batteries are low. I did not notice that behavior on my hybrid last winter when it went to sleep almost each night.

I however have the impression that the solax cloud software uses the daily counter and not the total one. I normally disconnect my inverter from the cloud (for security reasons), in those periods the increments are lost in the solax dashboard, so it does not seem to use the total counters in the inverter.

If this counter reset is systematic (and not a side effect from another bug), we could adapt our software for MIC and store the previous total value somewhere and report the sum of the stored value and the new total value. Nevertheless, I hope this is a side effect of another bug since it would become very ugly …

The API does return the total count as the yieldtotal attribute for me, but the SolaX cloud dashboard indeed only seems to use the daily counter (it started at 0 when I first connected).

One question, when the inverter wakes up again, do you get 0 (Zero) or the previous total yield ?

The previous total. So it’s easy to detect.

maybe this __init__.py modification would solve the problem.
Around line 1345:

        total_yield = decoder.decode_32bit_uint()
        if total_yield: # returns zero if MIC sleeps
            self.data["total_yield"] = round(total_yield * 0.001, 2)

Does the problem occurs for other ‘total’ sensors also ?

No idea, I only have this one.
Grid feed-in and self-consumption isn’t measured by the inverter (I don’t have a SolaX kWh meter).