Dear David,
you've posted this more than 2 years ago. I hope you already figured it out, but in case not, here's how to do this (I've needed something similar):
you use the Alarm block, set it to immediately and get the time of the next alarm.
Then you use either of the two time blocks (delay or time await) substracting the amount of time from that that you need, i.e. 5 minutes is enough I guess for WiFi to turn on and connect.
If you are in the habit of changing your alarm clock setting after the flow would have started, you should add a forked fiber with an alarm block set to "when changed", that will kill the parent fiber and loop back to the beginning and fetch the new time.
Something like:
0-Flow beginning
[1. Fork - (child): alarm "when changed" -> stop fiber parent -> loop back to 1]
2. (parent) Alarm immediately -> nextalarm
3. (parent) either:
a) delay (nextalarm - now - x) [x being the time in seconds that you want to anticipate your alarm i.e. 5 minutes = 5*60=300]
b) time await nextalarm - x
4. (parent) Wi-Fi set state -> loop back to 2
Hope this helps.
With kind regards,