@dakipro well WAF is important. Mine complained a lot when things didn't work but as it is quite stable she enjoys it but would never state that
A perfect solution is always very difficult to achieve. However when looking at my office where all blinds are triggered at the same time on any side of the building, it never works well and just annoyes anyone.
Here at home, it works in most cases but you could always tune a bit. That is what I meant with "starting with azimuth and forget about elevation". There are cases in early morning during bright winter days when sun rises there is sun shining and blinding us at the dining room table. temperature difference is too low and it would not react. Two possibilities:
a) manually trigger or
b) build an even more complex rule (which I did).
But these are cosmetics. And one could not predict all cases over 365 days in all possible weather situations.
Regarding dead switch:
I do not have any logic in my actuators. Fullstop!
All comes from openHAB.
First of all I do have one master switch, this kills everything. No actuator can be triggered automatically (sometimes important for WAF).
Second there are certain conditions which cannot be overruled: e.g. if it starts raining, the roof windows close also when the wind speed is above trigger, rollershutters go up. These are mainly in order to prevent damage (except when master switch - rule 1 - is off).
And then the rest could be easily achieved. If done with MySensors, just send an additional fake state back to the controller when you manually trigger something and then check in your rules:
//light goes on send( myLightSwitch.set(1) ); send( myManualStatus.set(1) );
Then check in your rules if that value for myManualStatus is 1 or 0.
I work for example with my rollershutters like this: when it goes down automatically, it goes to 85%. If it shall go up, I also check if it is at 85% - if not, then someone set it manually and I do not move it. Chances are pretty high, that if it is triggered manually it is not at 85% and rather at 84 or 86 or even something completely different.
But then when sun sets, it overrides again and automatic kicks in again.