One strange thing I observed with the schedules on my GX device is that the target SoC appears to be still on 60min intervals, i.e. there are 15min windows but the target SoC is always constant for 4 values in a sequence, opposed to the strategy which indeed may change every 15mins:
The strategy you see here is taken from venus/N/xxxsecret_idxxxx/system/0/DynamicEss/ReactiveStrategy with the first row being the text description and the second row the raw integer value. (And this may even change quicker than 15min because itâs the reactive strategy, calculated continously by the dynamicess.py script)
But the Target SoC in the plot is taken directly from the current schedule window venus/N/xxxsecret_idxxxx/settings/0/Settings/DynamicEss/Schedule/0/Soc (and itâs also a bit strange that changes are not aligned but a little shifted by 5..10mins, but I guess thatâs related to delays in schedule updates. The timestamps within the schedule items resembling the windows are perfectly aligned on a 15min grid, so nothing to worry here.)
Looking at the prices and actual battery power during that time proves that DESS runs on 15min intervals, reacting to 15min price changes.
From 15:00 to 15:15 there was a short grid charging window related to a price drop during that period and also the charging window from 13:15 to 14:15 obviously is not aligned with 60min intervals:
Taget SOC perhaps is on 60min, but what about the Charging effect at the end?
If i check my grid metrics i see that it responds with 15min charging and not charging depending on price. So SOC 60 or 15 is not making the difference.
The target soc in window 0 will be the same for a whole hour.
For the 15-30 window, you gotta look at window /1/, for 30-45 itâs window /2/ and for 45-60 you have to look at window /3/
And overall that might not be true, the only truth to be used would be to look at the windows start_time and duration and calculate if ânowâ lays within that window.
To simplify access to the current windows target, you should use /system/DynamicEss/TargetSoc instead. That is the value extracted from the schedule based on time attributes of every available slot.
Ok, now I remember why I didnât use /system/DynamicEss/TargetSoc - because itâs being zeroed out many times a day while the actual window has a positiv value.
oh, yeah, it only shows âeffectiveâ values. If the strategy is âself-consumptionâ there is no targetsoc the strategy would follow.
Zusammenfassung
So, I would create a Template-Sensor in HomeAssistant, filtering out 0 values. Then you have a graph of effective targets and gaps for self-consumption times. Something like
I agree with the people who want to see the 15 minutes schedule in VRM. There is lots of room on the screen, to show more data. I get a lot of questions from our customers about this, since the beginning of october.
And especially on days like yesterday where the prices jump up and down more than 15 cents 2 or 3 times within an hour, for a few hours, people want to check how the DESS is reacting on that.
Also we can see that the system has infact used 15 minute scheduling as 7.11 it did not sell 17:00-17:15 while energy was cheaper than the last three quarters of the hour.
I would also like to request that 15 min scheduling would be properly shown on the schedule graph. The current 1 hour view is just confusing, and causes headache & extra work when dealing with customers. I would prefer to have the graph show what is actually planned instead of âtrust me bro it worksâ. Thank you.