All suggestions above might be good depending on exact usecase and other needs. The one with the HA group seems to be the cleanest one. However is limited to All-sensors-are-ON - Any-sensor-is-off situations. It might fits your need though.
Here is example of using GetEntities node.
It counts persons in Home area, being triggered by state change of any registered person, as well as HA/NR start. IMO it cannot be achieved with person group.
Obviously the lattest condition check can be anything.
You can import the json below into your NR to look into config of particular nodes.
[{"id":"affb329d.8fa8f","type":"switch","z":"bcb4b1c6.803708","name":"zero or more","property":"payload","propertyType":"msg","rules":[{"t":"gt","v":"0","vt":"str"},{"t":"eq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":710,"y":220,"wires":[["ee603327.68635","03b1c4e8d2afc79d","1925901bf1f7ce40"],["fcfa14ef.2feb28","03b1c4e8d2afc79d","1925901bf1f7ce40"]]},{"id":"d46b853a.df0c78","type":"server-state-changed","z":"bcb4b1c6.803708","name":"Some person state changed","server":"6cdd0bc8.b8e434","version":5,"outputs":1,"exposeAsEntityConfig":"","entityId":"person\\.*","entityIdType":"regex","outputInitially":true,"stateType":"str","ifState":"","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":200,"y":220,"wires":[["ae0f2f18.6cbb7"]]},{"id":"ae0f2f18.6cbb7","type":"ha-get-entities","z":"bcb4b1c6.803708","name":"How many persons in house","server":"6cdd0bc8.b8e434","version":1,"rules":[{"property":"entity_id","logic":"is","value":"person\\.*","valueType":"re"},{"property":"state","logic":"is","value":"home","valueType":"str"}],"outputType":"count","outputEmptyResults":false,"outputLocationType":"msg","outputLocation":"payload","outputResultsCount":1,"x":480,"y":220,"wires":[["affb329d.8fa8f"]]},{"id":"6cdd0bc8.b8e434","type":"server","name":"HA MaXyM","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"numeric","statusMonth":"2-digit","statusDay":"2-digit","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]```