Best practice for suggestions based on day, status, etc

I have a section in my home dashboard for suggestions to do. Like turning on the heater if I want to go take a bath or close the curtains half way. Also, when I turn on a fan there appears a button to turn it of. Or the days I am working from home there is a button to turn on a heater (and when it’s on: to turn it off). And when someone is in the living room a range of scenes to select.
Things that are not easy to automate, because they happen random or when I do something specific or I just want control.

I use helpers as workday, holiday, time of day (morning, afternoon, evening, night), when something is on or off, based on persons or when a sensor is above or below a value. And combinations of them.
But I now have 30 cards with sometimes very complex visibility rules. And I was wondering if that could be simpler. But I want to keep the algorithmic nature of this.