Use the browser debugger to view the status transactions when the status screen is active. This is undocumented and not guaranteed to never change, but realistically it probably won’t.
Yes, they will not be valid until the integrator synchronizes. That takes about 10 minutes for a day’s worth of backlog.
Back to your original questions:
I try not to use the min/max functions too much as they make my head hurt. You are dealing with two inputs: Grid and Solar. Those are the only sources of energy to your panel. They are positive when power is being supplied.
Grid is negative when power is being exported, so it is not a monotonically increasing value. You do need the integrator to separate the import from the export. I recommend a unique name for the integrator.
grid Wh = Grid
Export Wh = grid.neg abs
Import Wh = grid.pos
What you call “Self_Total” is the total power being consumed. It should never be negative and so is always monotonically increasing. That output is simply:
Self_Total Wh = Grid + Solar
What you call “Self_Solar” seems to be the amount of Self_Total that is being supplied by the Solar inverter. It is also a monotonically increasing value. There are a couple of ways to compute this.
You can take the smaller of what you are using and what you are producing:
Self_Solar Wh = Solar min (Grid + Solar)
or you can subtract what you are exporting from what you are producing:
Self_Solar Wh = Solar + grid.neg
(Remember that grid.neg is negative so you add it.)