Heres how mine works: 8 different standard modes for different parts of day. Webcore rotates these in a piston on a normal schedule but shifts specific mode transitions up and back based on a series of rules i coded pulled from: A Google home automation calendar (holidays, stay home, guests, etc. ) Day of week virtual switches that can be turned on and off by alexa to further modify the behavior (advance a mode, go back to previous mode, etc. ) LUX sensors (in case the weather is wreaking havoc with lighting and its darker or lighter than expected) Then certain sensors such as under mattress sleep sensors or motion detection can further modify the mode. In essence the house runs a series of scheduled modes and adjusts automagically. The modes then filter which automations run or scenes run based on room occupancy sensors. Complicated yes, but I dont think ive touched a light switch in over a month.