You can achieve the overall away/home status by using a group with an aggregate function
If you want to check what has triggered the rule, in JavaScript you can look at the event variable, a DSL rule will have similar and blockly will have a contextual info block
Yes, I know about the group aggregate function, however I have a switch for the relevant peeople with “extended away”, (business trip), and the person should only be included in the ishome and isaway group when the person is not “extended away”. I hope that makes sense?
I think that can only be handled with rules? (or very weird nested groups)