I fully understand your point of view, no problem with that.
I don’t think there’s a right or wrong way to do it; each home automation system has its own philosophy. It’s up to the user to adapt and that’s what I do without criticizing 
Where I was a bit bothered was that, in my eyes as a former DEV, I see two triggers in my scene (again, it’s sometimes open to interpretation).
- Siemens’ API sends me an event at time T when something happens (door open, program running, error, etc…)
→ I create a « state » ready or not ready in Node-RED when 3 events are met (door closed, « power » button on and « remote access » button enabled).
- Instantaneous energy production isn’t something I can physically control; it’s the weather conditions that influence it, so in my view it’s an event when I exceed a certain threshold. So at some point I’ll exceed a value at time T but I NEVER know when that’s going to happen.
In my case, I worked like this:
Not knowing when that’s going to happen, because in my view those are two triggers, every X minutes I retrieve the value of my variables at time T → Is my dishwasher ready? Is my instantaneous consumption > X kWh?
This way, I somewhat work around my problem.
Is that the most optimized? Given that I test every X minutes, even at night while knowing full well I will produce absolutely nothing with my solar panels, I don’t think so.
I could also use a trigger based on instantaneous consumption. As soon as it’s greater than X kWh, I check my condition (is the dishwasher state ready?).
Again, do I test systematically:
At the risk of triggering the scene every second, not optimal in my view.
Or do I test only once if the threshold is exceeded? At the risk that the value stays above the threshold all day and thus miss starting the dishwasher…
Not easy to make decisions 
As for tutorials, yes, I should take the time to do that once. I also had another one about setting up and configuring the reverse proxy on the Synology NAS for external access (as opposed to a tutorial already available on opening ports) but it’s contradictory with your paid offer.