Between Mike’s nudge and finding that timesincechangedms is not the same as timeSinceChangedMs I was able to get it to work using the person entity and tts cloud_say on google speakers. For those looking for something similar ( I added a third person and an everyone )
[{"id":"3601c3e8.628edc","type":"server-state-changed","z":"729d4aa5.48ac54","name":"Paul","server":"e0e5de46.64d5","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"person.paul_carson","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"home","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":70,"y":120,"wires":[["c287b2d.1e7eb5"],["65b42cb7.666674"]]},{"id":"e38c2fac.a325b","type":"server-state-changed","z":"729d4aa5.48ac54","name":"Cris","server":"e0e5de46.64d5","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"person.cris","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"home","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":70,"y":220,"wires":[["c287b2d.1e7eb5"],["65b42cb7.666674"]]},{"id":"6a94e4c7.d74b7c","type":"template","z":"729d4aa5.48ac54","name":"Format Names","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{payload.attributes.friendly_name}}","output":"str","x":640,"y":120,"wires":[["fb0a5779.ee1c58"]]},{"id":"304b1171.50662e","type":"ha-wait-until","z":"729d4aa5.48ac54","name":"Door Opens","server":"e0e5de46.64d5","outputs":2,"entityId":"binary_sensor.garage_entry","entityIdFilterType":"exact","property":"state","comparator":"is","value":"on","valueType":"str","timeout":"5","timeoutType":"num","timeoutUnits":"minutes","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":1170,"y":60,"wires":[["1a7a6aba.989e95"],[]]},{"id":"1a7a6aba.989e95","type":"ha-wait-until","z":"729d4aa5.48ac54","name":"Door Closes","server":"e0e5de46.64d5","outputs":2,"entityId":"binary_sensor.garage_entry","entityIdFilterType":"exact","property":"state","comparator":"is","value":"off","valueType":"str","timeout":"5","timeoutType":"num","timeoutUnits":"minutes","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":1330,"y":60,"wires":[["775558cb.446388"],[]]},{"id":"775558cb.446388","type":"api-call-service","z":"729d4aa5.48ac54","name":"Speak Message","server":"e0e5de46.64d5","version":1,"debugenabled":false,"service_domain":"tts","service":"cloud_say","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1500,"y":100,"wires":[[]]},{"id":"cbda386f.4adc48","type":"delay","z":"729d4aa5.48ac54","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1140,"y":260,"wires":[["377022e6.90fcee"]]},{"id":"d39d5629.85c438","type":"comment","z":"729d4aa5.48ac54","name":"Announce arrival and departure","info":"","x":150,"y":60,"wires":[]},{"id":"65b42cb7.666674","type":"ha-get-entities","z":"729d4aa5.48ac54","server":"e0e5de46.64d5","name":"","rules":[{"property":"entity_id","logic":"includes","value":"person.paul_carson , person.cris, person.sara","valueType":"str"},{"property":"state","logic":"is","value":"not_home","valueType":"str"},{"property":"timeSinceChangedMs","logic":"lt","value":"300000","valueType":"num"}],"output_type":"split","output_empty_results":false,"output_location_type":"msg","output_location":"payload","output_results_count":1,"x":450,"y":260,"wires":[["a2c056b0.6be538"]]},{"id":"a2c056b0.6be538","type":"template","z":"729d4aa5.48ac54","name":"Format Names","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{payload.attributes.friendly_name}}","output":"str","x":640,"y":260,"wires":[["45736ef.47d189"]]},{"id":"fb0a5779.ee1c58","type":"join","z":"729d4aa5.48ac54","name":"","mode":"custom","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":", ","joinerType":"str","accumulate":false,"timeout":"","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":810,"y":100,"wires":[["accacb7c.51bee8"]]},{"id":"45736ef.47d189","type":"join","z":"729d4aa5.48ac54","name":"","mode":"custom","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":", ","joinerType":"str","accumulate":false,"timeout":"","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":810,"y":260,"wires":[["e82660b3.157e6"]]},{"id":"accacb7c.51bee8","type":"function","z":"729d4aa5.48ac54","name":"Random message","func":"var device=msg.payload\nmsg.payload = {};\nmsg.payload.domain = {};\nmsg.payload.service = {};\nmsg.payload.data = {};\nmsg.payload.data.message = {};\n\nif (device == 'Paul') {\n var name = 'Paul';\n var isAre = 'is';\n}else if (device === 'Cris') {\n var name = 'Cris';\n var isAre = 'is';\n}else if (device === 'Sara') {\n var name = 'Sara';\n var isAre = 'is';\n}else if (device == 'Paul, Cris' || device == 'Cris, Paul') {\n var name ='Paul and Cris';\n var isAre = 'are';\n}else if (device == 'Cris, Sara' || device == 'Sara, Cris') {\n var name = 'Cris and Sara';\n var isAre = 'are';\n}else if (device == 'Paul, Sara' || device == 'Sara, Paul') {\n var name = 'Paul and Sara';\n var isAre = 'are';\n}else if (device == 'Paul, Cris, Sara' || device == 'Cris, Sara, Paul' || device == 'Sara, Paul, Cris' || device == 'Paul, Sara, Cris' || device == 'Sara, Cris, Paul' || device == 'Cris, Paul, Sara') {\n var name = 'Everyone';\n var isAre = 'is';\n}\n\nvar messageOpening = [\n \"Welcome Home\",\n \"How you doing\",\n \"What's up\",\n \"Long time no see\",\n \"Hey\",\n \"Nice to see you\",\n \"Look who's home, it's\",\n \"Nice to have you back\",\n \"Howdy do\",\n \"What's going on\",\n \"How is everything\",\n \"It's feels like ages since I've seen you\",\n \"Where have you been hiding\",\n \"How's it hanging\",\n \"What's cookin\",\n \"What's shakin\",\n \"Greetings and salutations\",\n \"How goes it\",\n \"What's happening\",\n \"How goes it\",\n \"Roll out the red carpet for\"\n];\n\nvar messageClosing = [\n \"in the house! Ooo oooo\",\n \"here.\",\n \"home.\",\n \"joining the party\",\n \"crashing the party\",\n \"gracing us with their presence\",\n \"dropping anchor\",\n \"dropping in\",\n \"making the scene\",\n \"barging in\",\n \"showing up\",\n \"blowing in\",\n \"appearing\",\n \"breezing in\",\n \"rolling in\",\n \"popping in\",\n \"finally home\"\n];\n\n\nvar randomOpening = messageOpening[Math.floor(Math.random()*messageOpening.length)];\nvar randomClosing = messageClosing[Math.floor(Math.random()*messageClosing.length)];\nvar message = randomOpening + \" \" + name + \".\" + \" \" + name + \" \" + isAre + \" \" + randomClosing\n\nmsg.payload.domain = \"tts\"\nmsg.payload.service = \"cloud_say\"\nmsg.payload.data.entity_id = \"media_player.front_door_speaker\"\nmsg.payload.data.message = message\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":990,"y":100,"wires":[["304b1171.50662e","62b90986.e004b8"]]},{"id":"377022e6.90fcee","type":"api-call-service","z":"729d4aa5.48ac54","name":"Speak Message","server":"e0e5de46.64d5","version":1,"debugenabled":true,"service_domain":"tts","service":"cloud_say","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1320,"y":260,"wires":[[]]},{"id":"e82660b3.157e6","type":"function","z":"729d4aa5.48ac54","name":"Random message","func":"var device=msg.payload\nmsg.payload = {};\nmsg.payload.domain = {};\nmsg.payload.service = {};\nmsg.payload.data = {};\nmsg.payload.data.message = {};\n\nif (device == 'Paul') {\n var name = 'Paul';\n var hasHave = 'has';\n}else if (device === 'Cris') {\n var name = 'Cris';\n var hasHave = 'has';\n}else if (device === 'Sara') {\n var name = 'Sara';\n var hasHave = 'has';\n}else if (device == 'Paul, Cris' || device == 'Cris, Paul') {\n var name ='Paul and Cris';\n var hasHave = 'have';\n}else if (device == 'Cris, Sara' || device == 'Sara, Cris') {\n var name = 'Cris and Sara';\n var hasHave = 'have';\n}else if (device == 'Paul, Sara' || device == 'Sara, Paul') {\n var name = 'Paul and Sara';\n var hasHave = 'have';\n}else if (device == 'Paul, Cris, Sara' || device == 'Cris, Sara, Paul' || device == 'Sara, Paul, Cris' || device == 'Paul, Sara, Cris' || device == 'Sara, Cris, Paul' || device == 'Cris, Paul, Sara') {\n var name = 'Everyone';\n var hasHave = 'has';\n}\n\nvar messageOpening = [\n \"Goodbye\",\n \"See you later\",\n \"Bye\",\n \"Live long and prosper\",\n \"Farewell\",\n \"Hope you have a great time\",\n \"Take care\",\n \"Smell you later\",\n \"Adios\",\n \"Caio\",\n \"Au revoir\",\n \"Sayonara\",\n \"Ta Ta for now\",\n \"Catch you later\",\n \"To-da-loo\",\n \"See you in the funny papers\",\n \"Toodles\",\n \"Godspeed\",\n \"So long\",\n \"Cheerio\",\n \"Arrivederci\"\n];\n\nvar messageClosing = [\n \"left the building\",\n \"gone out\",\n \"popped out\",\n \"left\",\n \"buggered off\",\n \"departed\",\n \"split\",\n \"vamoosed\",\n \"high tailed it\",\n \"escaped\",\n \"eight-six'd it\",\n \"bid farewell\",\n \"flaked off\",\n \"took a hike\",\n \"withdrawn\",\n \"exited\",\n \"vanished\",\n \"disappeared\",\n \"evacuated\",\n \"retreated\",\n \"taken their leave\"\n];\n\n\nvar randomOpening = messageOpening[Math.floor(Math.random()*messageOpening.length)];\nvar randomClosing = messageClosing[Math.floor(Math.random()*messageClosing.length)];\nvar message = randomOpening + \" \" + name + \" \" + name + \" \" + hasHave + \" \" + randomClosing\n\nmsg.payload.domain = \"tts\"\nmsg.payload.service = \"cloud_say\"\nmsg.payload.data.entity_id = \"media_player.front_door_speaker\"\nmsg.payload.data.message = message\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":970,"y":260,"wires":[["cbda386f.4adc48"]]},{"id":"c287b2d.1e7eb5","type":"ha-get-entities","z":"729d4aa5.48ac54","server":"e0e5de46.64d5","name":"","rules":[{"property":"entity_id","logic":"includes","value":"person.paul_carson , person.cris, person.sara","valueType":"str"},{"property":"state","logic":"is","value":"home","valueType":"str"},{"property":"timeSinceChangedMs","logic":"lt","value":"300000","valueType":"num"}],"output_type":"split","output_empty_results":false,"output_location_type":"msg","output_location":"payload","output_results_count":1,"x":450,"y":120,"wires":[["6a94e4c7.d74b7c"]]},{"id":"d3851dd2.c4e2","type":"server-state-changed","z":"729d4aa5.48ac54","name":"Sara","server":"e0e5de46.64d5","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"person.sara","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"home","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":70,"y":320,"wires":[["c287b2d.1e7eb5"],["65b42cb7.666674"]]},{"id":"62b90986.e004b8","type":"ha-wait-until","z":"729d4aa5.48ac54","name":"Door Opens","server":"e0e5de46.64d5","outputs":2,"entityId":"binary_sensor.front_door","entityIdFilterType":"exact","property":"state","comparator":"is","value":"on","valueType":"str","timeout":"5","timeoutType":"num","timeoutUnits":"minutes","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":1170,"y":140,"wires":[["205a1043.6bf86"],[]]},{"id":"205a1043.6bf86","type":"ha-wait-until","z":"729d4aa5.48ac54","name":"Door Closes","server":"e0e5de46.64d5","outputs":2,"entityId":"binary_sensor.front_door","entityIdFilterType":"exact","property":"state","comparator":"is","value":"off","valueType":"str","timeout":"5","timeoutType":"num","timeoutUnits":"minutes","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":1330,"y":140,"wires":[["775558cb.446388"],[]]},{"id":"e0e5de46.64d5","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]