The problem is that Giv doesn't allow you in the portal to keep ECO on at the same time as timed export.
If in the portal you enable timed export you automatically disable ECO (no way around) for the whole day. Therefore trying to use timed export from the portal is useless, but you achieve the same by using timed discharge (with ECO remaining on).
Of course if you are able via the coding to re-enable ECO every time after the end of the discharge you overcome that problem (and I think that's what you are doing).
Below is the screenshot of how you set timed discharge in Giv with a lower SOC%-limit (stop percentage):
Note that this is only visible in the detailed settings under the cogwheel ("remote control") for "discharge 1 settings"
You will NOT see this in the main inverter settings page.
It does work perfectly fine though.
You can toggle in the main screen the timed discharge off and on. In that screen you can't set the lower limit %, but it will respect the limit you have defined under Discharge 1 Settings in "remote control".
You can also clearly see that timed export is disabled.
Each time I do this it discharges nicely within the specified window to the grid and stops at the limit I set (25% in this example).
There's only one small disadvantage: if you set the window too long (with other words you reach the 25% before the end of the window (because e.g. you start from a battery with SOC 60 rather than 100) , then for the rest of the window it will start importing from the grid rather than draw from the battery if there's any load, for the simple reason that during the window, Giv disables "ECO"....
However, if you're a bit smart about that, you can set the WW parameters so that based on the solar prediction the battery is charged in the morning so that it is full or close to full before you start discharging in the afternoon and then you may simply have a few minutes at the end of the window where that applies or maybe you stop already at 26% or 27% because time expires before you get to 25%. That's peanuts.
Strangely enough with Giv, for charging the "stop percentage IS visible in the settings screen in the form of a slider:
and it then reflects that in the "remote settings" screen as follows:
BUT
there's another setting in the "remote settings" screen :
If you touch that AC Charge 1 Upper SOC% Limit to anything BELOW the number in the main slider screen , then it will OVERWRITE that value (but it won't show it).
Example: you set the AC CHarge 1 Upper SOC% Limit to 30%. You set the slider to 71%. Then on the slider in the main screen you will see 71% (even after refresh), but you the charging will stop at 30%.
I hope that makes it clear.