Jump to content

Self Consumption with storage


Recommended Posts


I'm trying to include storage with self consumption, but having some difficulties understanding the variables presented.

1- Does ESOCBal represent how much energy, in kWh, is stored in the battery at the end of the period? I know that SOC_END is the SOC (ratio) at the end of that period, but for the ESOCBal I'm seeing values greater than the battery capacity at the DOC defined and lower values than the DOD defined.

2- Also, I've seen in some threads that the SOC_BEG, or the SOC at the beggining of the time interval is available, but I can't seem to find them in the simulation variables.

3- For the energy discharged from the battery that feeds the load, can we do EBatDis-CL_InvB?

4- Lastly, is it possible to charge the battery from the grid when the PV array doesn't charge it, so that we have full cycles each day?

Sorry for making more than 1 question on the same thread, and thank you in advance.


Link to comment
Share on other sites

Some answers to your questions:

1. - SOCBal is the stored energy difference between the beginning of the calculation period and the end. It cannot be higher than the energy contents of the battery of course.

2. - The SOC at the beginning of the simulation is specified in the advanced parameters, topic "Batteries".

3. - Yes, the availabe energy when discharging is EBatDisc - CL_InvB

4. - No, PVsyst doesn't treat the mode of charging the battery from the grid. This doesn't make much sense: what would be the strategy? When activating the charging ? Why?

Link to comment
Share on other sites

1- This is the battery that I'm using the simulations. For this case, I'm only using one battery, so I should have a maximum capacity of around 200 kWh at 100% DOC.


When I go through my results in the hourly output file I get for the ESOCBal a maximum value of 217 kWh, which is higher thant the 200 kWh maximum capacity, and I have defined a maximum of 95% DOC. Also, the maximum charging power is 100 kW, so I don't know how can I get that value for a single time interval. If we look in the first line of the simulation as an example, if it represents the balance between the start and end for that time period, shouldn't it have the same value as EBatDis?



2- I was asking if we can have the SOC at the start of each time interval for every hourly value of the simulation, not the start of the simulation since this value is kinda irrelavant. I can only find SOC mean and SOC at the end of the time interval.


4- I could be wrong but I just wanted to test results when there are electricity prices defined for the simulation, and the PV array power for that day was not enough to charge the battery , you could charge it at lower prices to have it available when the prices get to their peak for that day. In the simulation this will only happen in lower production days when the storage system is oversized vs PV. I believe PVSyst doesn't consider days without PV production due to having a cloudy day without sun, but in a real case scenario this might happen, which this strategy could make up for.

Thank you for your answers.

Link to comment
Share on other sites

Your battery pack (160 kWh) is completely undersized. With a PV power of 846 kWp and a max. load of 1048 kWh, it could be charged in 11 minutes, and discharged in 9 minutes.

Sorry, PVsyst doesn't treat this absurd situation correctly in the present time. You should at least limit the Charging and Discharging powers (next page) to ensure a reasonable charge/discharge  in about 2 hours (i.e. a charging power of the order of 160 kW/2).  But such a system doesn't make sense.

We have indeed to correct the model for such situations. This is on our roadmap for a very near future. 




Link to comment
Share on other sites

Thank you so much for your answers so far.

I understand that the system that I'm using isn't the optimal size, and I'm really sorry, but i don't understand why you tell me is absurd or unrealistic.

On 11/11/2023 at 3:52 PM, André Mermoud said:


Sorry, PVsyst doesn't treat this absurd situation correctly in the present time. You should at least limit the Charging and Discharging powers (next page) to ensure a reasonable charge/discharge  in about 2 hours (i.e. a charging power of the order of 160 kW/2).  But such a system doesn't make sense.






I am using a BTR. file developed by the manufacter (Huawei). It's a smart string ESS with 200 kWh (160 kWh is at 80% DOD) of capacity and 100 kW rated power. I believe I've defined the system correctly, please tell if I'm totally wrong. This is the page of self-consumption defined at the start of my simulation with 100 kW maximum charge and discharge power, as per datasheet.

Again, I understand that this storage system isn't the optimal size, I pretend to considerer up to 5 of these in parallel (maximum allowed by Huawei).

But I really don't understand, in terms of simulation, what is the problem of making an evaluation of the economic/energy balance for a system with 846 kWp of PV and a storage system with only 200 kWh and 100 kW charge/discharge. Although it is not optimal, you may not want to make the full investment, or simply to know what results you get with considering only 1 of these ESS.


Why is it different, in terms of how PVSyst handles the data and the simulation, of having 200 kWh and 100 kW charge/discharge, and having 1000 kWh and 500 kW charge/discharge?




Once again, thank you so much for your explanations and patience so far, I'm just trying to understand what I'm doing wrong.

Link to comment
Share on other sites

This configuration is different than the previous one.

Here you have defined a charging power of 100 kW, ensuring a charge in 1.6 hours under full sun. This is more reasonable. This is close to what is acceptable for Li-Ion batteries.

This charging time was 10 minutes at sun in the previous case, and as PVsyst works in houly steps, this leads to some problems when simulating one full hour. Normally PVsyst should not allow a  charging/discharging Power - or current - exceeding the battery data.

I don't know why this did not show the correct error message. Is your battery from the database, of from an external file ?

I am just on the way of correcting these extreme problems for a next version. 

By the way, I persist to say that implementing a battery storage for storing an energy corresponding to 8 minutes of average consumption doesn't make sense. It depends on what you want to do with your system. If it is for an UPS (i.e. ensuring the continuity of the energy supply for a little securized part of your installation), you should define the discharging power consequently. 


Link to comment
Share on other sites

This battery file is an external file, provided by the manufacter.


This print is the same from my 2nd message in this thread. If you check the warning in the top right corner you can see that I had already defined the 100 kW charge/discharge in the beginning of this thread and it was for this simulation that I got those strange values for ESOCBal. I understand that I was getting this warning because the system didn't have the optimal size for my PV and profile consumption (this disappeared when I considered 5 of these in parallel with 1000 kWh capacity and 500 kW charge/discharge power).


I believe that what is causing the confusion is the system information box in the down right box. The information in "This battery pack represent about:" stays the same whatever the charge/discharge power defined in the next page. This values only depend on the consumption profile, the PV System and the battery capacity, regardless of the power for charging/discharging.


I have now made a simulation for a storage system with 5 of these in parallel giving a total of 1000 kWh capacity  and 500 kW charge/discharge. As you can see, the ESOCBal maximum value for a single hour is 1088,5 kWh (so, similar to the results I had previously with the 200 kWh system where the maximum value for this variable was around 217 kWh). The max value for EBatDis was 505,48 kWh which is a little bit above the 500 kW charge/discharge that I had defined, but still acceptable I guess.


Thank you so much once again for your answers to my questions.

Edited by joao.ferreira
Link to comment
Share on other sites

First: the fact that the battery pack is provided by a manufacturer doesn't mean that this is correct. The definition of batteries in PVsyst is complex, and I have seen several BTR files from manufacturers which were erroneous.

I am working on this Grid systems simulation with storage just now, and I have discovered errors is some specific cases, namely when the battery has several "blocks" in parallel, and with disproportioned loads or battery packs.  You should wait for the next version 7.4.5 (to be released in December 2023) for a complete revision of this simulation in any case.

NB: The fact that the EBatDis = 505.48 kW when the discharging limit = 500 kW is normal, as the 500 kW is the output of the inverter, when the EBatDis is the input. You have to account for the inverter efficiency. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...