I am still using the same solution which I set up as a workaround when I initially asked this question.
Basically it means that I am using the CALDAV calendar integration
My partner an I have a shared icloud calendar (could be Google too I guess) in which we, among the agenda stuff that is important for both of us, also have an automatically recurring entry. In fact, we have 2 of those, one is for weekdays, the other one for weekend days.
name of calendar-entry: #WAKE-UP !!-30
start time: 7am (weekdays) or 8 am (weekends)
end time: not relevant
Important is the !!-30 as that is how I can trigger an offset x minutes (in this case 30) before the start of the “appointment”. That’s when here at home the lights start to fade towards the state we want them in when we wake up, the heating in the bathroom gets turned on, etc… At the start-time, a whole morning routine starts as well, including latest news broadcoast, local traffic, etc…
As the CALDAV sensor is updated regularly, I can do the exeptions (e.g. when we have to get up earlier or later than usual) via the Calendar of my iPhone . A few moments later, all is updated. Only thing to remember in the Calendar app is to pay attention that changes are only done to the relevant entries. It is an easy mistake to - most of the time unaware - update all recurring future entries of a calendar item instead of only the relevant one.
Since I set it up, we obviously changed things too. For instance, I now also have the workday-sensor set up, next to the calendar entry. That means that I can now forget to remove the calendar entry on a bank holiday during the week if we don’t want to be woken up. There will be no wake up routine at all on that day. Of course, if we simply want to be awake at another time on that bank holiday, we would change the exisitng value.
As a backup, my partner still uses the alarm clock in the iphone as well.
It’s more a failsafe (we never needed it, HA didn’t let us down), but it feels safer.
I have been looking at Shortcuts & Automations and it seems that you can now trigger actions based on what is done with an alarm (Snoozed or Stopped) but not with the beginning of the time. Or better, x minutes before the beginning.
I can share code if needed, but nothing that I used for this was particularly exceptional.