Multiple conditions in an automation rather than lots of automations - advice

I seem to end up with lots of automations - ie one to turn and light on if movement and another to turn it off if no movement for 5 mins. I think I could do this in one automation but I haven’t quite worked that out yet.

I am trying to work out an all in one automation that turns the bedroom light on if the sensor detects movement after ‘quiet time’. which is 2100-0600. However I only want to do this on a ‘workday’ not a ‘non workday’ when we may be sleeping in. On those days as it’s winter here and the house can be quite dark as its an old cottage, I still want the light to come on with movement between 0830 and 2100 during ‘non workdays’ - the light strip under the bed come on during quiet time if there is movement so that’s enough (a separate automation). Am I over complicating this and would this need multiple automations? Any advice appreciated.

You can do it in a single automation using the Choose action.

Whether you should do it in multiple automations or just one is almost entirely user preference… some people like lots of simple automations, some like a few moderately complex automations, and other people like one all-encompassing uber automation.

Thanks - I’m struggling on how to set the seprate conditions for this though ie if it’s a ‘workday’ outside quiet time turn light on, but if it’s a ‘non workday’ outside quiet time and before 0830 then don’t turn it on but turn it on with movement after 0830. I can’t get my head around the conditions in the UI

Are you using the Workday sensor integration or do you plan to use the weekdays option in a time condition?

I was trying to use the workday sensor integration. I also have a ‘quiet time’ sensor which is 2100-0600.

Great.

So, can you write a quick “truth table” for the different combinations?

Should light turn on when Motion Detected:

  • workday TRUE and quiet_time TRUE =>
  • workday FALSE and quiet_time TRUE =>
  • workday TRUE and quiet_time FALSE =>
  • workday FALSE and quiet_time FALSE =>