I went a completely different route. And to the others yes I made this complex but there really was no other choice. AND, it is very flexible for my needs.
I thank @rlgrimes for working through some of this with me. We used some of his logic from his appdaemon but then also leveraged incredible code from here.
Node-Red code for announcements, alarm and pushover messages:
[{"id":"eaff848c.6faa18","type":"server-events","z":"56cbb45a.6e811c","name":"Keymaster Lock State Change","server":"f4c3f22d.c5133","version":1,"event_type":"keymaster_lock_state_changed","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"waitForRunning":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"$outputData(\"eventData\").event_type","valueType":"jsonata"},{"property":"event_type","propertyType":"msg","value":"$outputData(\"eventData\").event_type","valueType":"jsonata"}],"x":160,"y":100,"wires":[["783f7217.a09a0c"]]},{"id":"783f7217.a09a0c","type":"switch","z":"56cbb45a.6e811c","name":"","property":"payload.event.code_slot_name","propertyType":"msg","rules":[{"t":"eq","v":"Natalie","vt":"str"},{"t":"neq","v":"Natalie","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":260,"y":240,"wires":[["26024376.2fccfc"],["a9047395.fd204"]]},{"id":"26024376.2fccfc","type":"function","z":"56cbb45a.6e811c","name":"Custom Actions/Announcements","func":"var states = global.get('homeassistant.homeAssistant.states');\n\n//Define Variable\nconst user_code = msg.payload.event.code_slot;\nconst user_string = msg.payload.event.code_slot_name;\nconst entity = msg.payload.event.lockname;\nconst action_type = msg.payload.event.action_text;\nlet friendly_name;\nlet greeting;\nlet entity_name;\n\n\n//Message Return Variables\nlet ntf_msg = {};\nlet voice_msg = {};\nlet alarm_action = {};\nlet cleaning_msg = {};\n\n//Greetings\nlet cleaning_options = [\"Welcome to our home! We have missed you %name%\", \"I am so glad you are here %name%! These people have been making me look messy!\",\"Welcome %name%! We are excited that you are here!\",\"Welcome to our home %name%.\"];\n\n// Lock Names\nif (entity == \"frontdoor\") { entity_name = \"Front Door\"; }\nelse if (entity == \"garagedoor\") {entity_name = \"Garage Door\";}\nelse { entity_name = entity; }\n\nfriendly_name = \"Miss Natalie\"\ngreeting = cleaning_options[Math.floor(Math.random() * cleaning_options.length)];\ngreeting = greeting.replace('%name%', friendly_name);\nalarm_action.payload = \"alarm_disarm\";\nntf_msg.topic = entity_name + \" Lock Notification\";\nntf_msg.payload = \"The \" + entity_name + \" was unlocked by \" + user_string + \".\";\nvoice_msg.topic = entity;\nvoice_msg.payload = greeting;\ncleaning_msg.payload = \"cleaning\";\n\nreturn [ntf_msg, voice_msg, alarm_action, cleaning_msg];\n","outputs":4,"noerr":0,"initialize":"","finalize":"","libs":[],"x":510,"y":120,"wires":[["6a27d715.3af5b8"],["15697fed.36a0e"],["2ce09e2c.fa4a72"],["93a1c5ad.e0aef8","a1be577a.3952b8"]]},{"id":"a9047395.fd204","type":"function","z":"56cbb45a.6e811c","name":"Keymaster Actions","func":"var states = global.get('homeassistant.homeAssistant.states');\n\nvar trackedpersons = [\"Aaron\", \"Krissy\", \"Amaya\", \"Karen\"];\n//Define Variable\nconst user_code = msg.payload.event.code_slot;\nconst user_string = msg.payload.event.code_slot_name;\nconst entity = msg.payload.event.lockname;\nconst action_type = msg.payload.event.action_text;\nlet friendly_name;\nlet greeting;\nlet entity_name;\nvar people = [];\n\n//Message Return Variables\nlet ntf_msg = {};\nlet voice_msg = {};\nlet alarm_action = {};\nlet reset_home = {};\n\n//Greetings\nlet greeting_options = [\"Be our Guest! Be our Guest! Put my service to the test. Welcome home %name%\",\"Chereo %name%. Glad you are home!\",\"%name%. Not much to report besides snoring dogs.\",\"Nice to have you back. %name%\",\"%greeting%, %name%\",\"%greeting%. Your virtual butler is here to serve. Welcome home %name%\",\"Please to see you, %name%\",\"%greeting%. Anything I can do for you. %name%\",\"Cheers. %name%. Do you need to use the looo?\",\"%greeting% %name%. The dogs have been patiently waiting for your presence.\",\"Konnichiwa, %name%. Just practicing my Japanese this %greeting%.\",\"G'Day %name%. Glad you are home!\",\"Well, look at you %name%. Aren't you absolutely adorable?\",\"Welcome home %name%. I was wondering while you were out, how much wood, can a woodchuck chuck, if a woodchuck chucked some wood?\",\"Welcome home %name%. Oh the places you go, while I sit here and watch the dogs.\",\"%name% can I tell you a secret? We all missed you!\"];\n\n// Lock Names\nif (entity == \"frontdoor\") { entity_name = \"Front Door\"; }\nelse if (entity == \"garagedoor\") {entity_name = \"Garage Door\";}\nelse { entity_name = entity; }\n\n//Build who has arrived\nif (states['input_select.aaron'].state === \"Arrived\") { people.push(\"Aaron\"); }\nif (states['input_select.krissy'].state === \"Arrived\") { people.push(\"Krissy\"); }\n//if (states['input_select.aiden'].state === \"Arrived\") { people.push(\"Aiden\"); }\nif (states['input_select.amaya'].state === \"Arrived\") { people.push(\"Amaya\"); }\nif (states['input_select.evelyn'].state === \"Arrived\") { people.push(\"Evelyn\"); }\nif (states['input_select.karen'].state === \"Arrived\") { people.push(\"MaMaw\"); }\nif (trackedpersons.includes(user_string) === false) { people.push(user_string); }\n\nif(people.length > 0) {\n friendly_name = people.join(\", \");\n friendly_name = friendly_name.replace(/,(?=[^,]*$)/, ' and');\n\n //Set time\n var now = new Date(),\n hour = now.getHours();\n\n var greeting_time = \"Good \";\n greeting_time += (hour >= 4 && hour <= 11) ? \"morning\" : \"\",\n greeting_time += (hour >= 12 && hour <= 16) ? \"afternoon\" : \"\",\n greeting_time += (hour >= 17 && hour <= 20) ? \"evening\" : \"\",\n greeting_time += (hour >= 21 || hour <= 3) ? \"night\" : \"\";\n\n\n //Set Greeting\n greeting = greeting_options[Math.floor(Math.random() * greeting_options.length)];\n greeting = greeting.replace('%name%', friendly_name);\n greeting = greeting.replace('%greeting%', greeting_time);\n \n //Lock Actions\n if (action_type == \"Keypad unlock operation\") {\n alarm_action.payload = \"alarm_disarm\";\n ntf_msg.topic = entity_name + \" Lock Notification\";\n ntf_msg.payload = \"The \" + entity_name + \" was unlocked by \" + user_string + \".\";\n voice_msg.topic = entity;\n voice_msg.payload = greeting;\n if(user_string===\"Aiden\") { \n reset_home.msg = user_string.toLowerCase();\n }\n return [ntf_msg, voice_msg, alarm_action, reset_home];\n }\n}\n\n\n","outputs":4,"noerr":0,"initialize":"","finalize":"","libs":[],"x":470,"y":280,"wires":[["911e6da6.3a586","6a27d715.3af5b8"],["53c360d8.5f023","15697fed.36a0e"],["1ed65bb8.f79904","2ce09e2c.fa4a72"],["5f885682.5b9758"]]},{"id":"6a27d715.3af5b8","type":"pushover","z":"56cbb45a.6e811c","name":"","device":"","title":"","priority":0,"sound":"","url":"","url_title":"","html":false,"x":820,"y":80,"wires":[]},{"id":"15697fed.36a0e","type":"switch","z":"56cbb45a.6e811c","name":"Which Door?","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"frontdoor","vt":"str"},{"t":"eq","v":"garagedoor","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":830,"y":180,"wires":[["40ef86de.8216c8"],["4e80e3b5.b86cdc"]]},{"id":"2ce09e2c.fa4a72","type":"switch","z":"56cbb45a.6e811c","name":"Set Alarm","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"alarm_disarm","vt":"str"},{"t":"eq","v":"alarm_arm","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":820,"y":280,"wires":[["fc01dfe1.6b527"],["526bbdc4.44b4e4"]]},{"id":"93a1c5ad.e0aef8","type":"switch","z":"56cbb45a.6e811c","name":"Cleaning","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"cleaning","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":820,"y":420,"wires":[["2b47e156.3447fe","f02df292.60039"]]},{"id":"a1be577a.3952b8","type":"debug","z":"56cbb45a.6e811c","name":"Cleaning Action","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":440,"y":560,"wires":[]},{"id":"911e6da6.3a586","type":"debug","z":"56cbb45a.6e811c","name":"Notify Message","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":440,"y":440,"wires":[]},{"id":"53c360d8.5f023","type":"debug","z":"56cbb45a.6e811c","name":"Voice Message","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":440,"y":480,"wires":[]},{"id":"1ed65bb8.f79904","type":"debug","z":"56cbb45a.6e811c","name":"Alarm Action","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":430,"y":520,"wires":[]},{"id":"5f885682.5b9758","type":"api-call-service","z":"56cbb45a.6e811c","name":"Home","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"input_select","service":"select_option","entityId":"","data":"{\"entity_id\":\"input_select.{{payload}}\",\"option\":\"Home\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":810,"y":560,"wires":[[]]},{"id":"40ef86de.8216c8","type":"time-range-switch","z":"56cbb45a.6e811c","name":"7:00am-9:00pm","lat":"-33.96041","lon":"151.02968","startTime":"07:00","endTime":"21:00","startOffset":0,"endOffset":0,"x":1040,"y":80,"wires":[["61e4ea28.1e5e74"],["23fa95bb.e10c9a"]]},{"id":"4e80e3b5.b86cdc","type":"time-range-switch","z":"56cbb45a.6e811c","name":"7:00am-9:00pm","lat":"-33.96041","lon":"151.02968","startTime":"07:00","endTime":"21:00","startOffset":0,"endOffset":0,"x":1040,"y":180,"wires":[["fb02a8d9.49d748"],["8b3a6a41.7a9b48"]]},{"id":"fc01dfe1.6b527","type":"api-call-service","z":"56cbb45a.6e811c","name":"Alexa Guard Disarm","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"alarm_control_panel","service":"alarm_disarm","entityId":"alarm_control_panel.alexa_guard","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1060,"y":280,"wires":[[]]},{"id":"526bbdc4.44b4e4","type":"api-call-service","z":"56cbb45a.6e811c","name":"Alexa Guard Arm Home","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"alarm_control_panel","service":"alarm_arm_home","entityId":"alarm_control_panel.alexa_guard","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1070,"y":340,"wires":[[]]},{"id":"2b47e156.3447fe","type":"trigger","z":"56cbb45a.6e811c","name":"8 hours","op1":"","op2":"{\"payload\":{\"data\":{\"option\":\"\"}}}","op1type":"nul","op2type":"json","duration":"8","extend":false,"overrideDelay":false,"units":"hr","reset":"home","bytopic":"topic","topic":"topic","outputs":1,"x":1000,"y":420,"wires":[["8acc8d9d.54609"]]},{"id":"f02df292.60039","type":"api-call-service","z":"56cbb45a.6e811c","name":"Reset Cleaning","server":"f4c3f22d.c5133","version":3,"debugenabled":true,"service_domain":"input_select","service":"select_option","entityId":"input_select.natalie","data":"{\"option\":\"Cleaning\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1020,"y":480,"wires":[[]]},{"id":"61e4ea28.1e5e74","type":"api-call-service","z":"56cbb45a.6e811c","name":"Increase Vol. to 70%","server":"bcca64cb.debed8","version":3,"debugenabled":false,"service_domain":"media_player","service":"volume_set","entityId":"media_player.dining_room","data":"{\"volume_level\":\"0.7\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1240,"y":40,"wires":[["6dc08ecb.5f3de"]]},{"id":"23fa95bb.e10c9a","type":"api-call-service","z":"56cbb45a.6e811c","name":"Whisper Dinning Room Alexa","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"notify","service":"alexa_media","entityId":"","data":"{\"data\":{\"type\":\"announce\",\"method\":\"all\"},\"message\":\"<amazon:effect name='whispered'>{{payload}}</voice></amazon:effect>\",\"target\":[\"media_player.dining_room\"]}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"data"}],"queue":"none","x":1320,"y":100,"wires":[[]]},{"id":"fb02a8d9.49d748","type":"api-call-service","z":"56cbb45a.6e811c","name":"Increase Vol. to 70%","server":"bcca64cb.debed8","version":3,"debugenabled":false,"service_domain":"media_player","service":"volume_set","entityId":"media_player.kitchen_echo_show","data":"{\"volume_level\":\"0.7\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1280,"y":160,"wires":[["99d1a254.13b4c"]]},{"id":"8b3a6a41.7a9b48","type":"api-call-service","z":"56cbb45a.6e811c","name":"Whisper Kitchen Show Alexa","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"notify","service":"alexa_media","entityId":"","data":"{\"data\":{\"type\":\"announce\",\"method\":\"all\"},\"message\":\"<amazon:effect name='whispered'>{{payload}}</voice></amazon:effect>\",\"target\":[\"media_player.kitchen_echo_show\"]}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"data"}],"queue":"none","x":1320,"y":220,"wires":[[]]},{"id":"8acc8d9d.54609","type":"api-call-service","z":"56cbb45a.6e811c","name":"Reset Away","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"input_select","service":"select_option","entityId":"input_select.natalie","data":"{\"option\":\"Away\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1170,"y":420,"wires":[[]]},{"id":"6dc08ecb.5f3de","type":"api-call-service","z":"56cbb45a.6e811c","name":"Dinning Room Alexa","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"notify","service":"alexa_media","entityId":"","data":"{\"data\":{\"type\":\"announce\",\"method\":\"all\",\"volume_level\":\"0.8\"},\"message\":\"<voice name='Brian'>{{payload}}</voice>\",\"target\":[\"media_player.dining_room\"]}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"data"}],"queue":"none","x":1480,"y":40,"wires":[[]]},{"id":"99d1a254.13b4c","type":"api-call-service","z":"56cbb45a.6e811c","name":"Kitchen Show Alexa","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"notify","service":"alexa_media","entityId":"","data":"{\"data\":{\"type\":\"announce\",\"method\":\"all\",\"volume_level\":\"0.8\"},\"message\":\"<voice name='Brian'>{{payload}}</voice>\",\"target\":[\"media_player.kitchen_echo_show\"]}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"data"}],"queue":"none","x":1520,"y":160,"wires":[[]]},{"id":"f4c3f22d.c5133","type":"server","name":"Home Assistant","version":1,"legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true},{"id":"bcca64cb.debed8","type":"server","name":"Home Assistant","version":1,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
Presence detection Node:
[{"id":"cbdf3bf9.002f08","type":"trigger-state","z":"fa321c11.6a27e","name":"Person","server":"f4c3f22d.c5133","version":0,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityid":"^person\\..*$","entityidfiltertype":"regex","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":"","propertyType":"current_state","comparatorType":"is_not","comparatorValueDatatype":"prevEntity","comparatorValue":"state","propertyValue":"new_state.state"}],"outputs":2,"customoutputs":[],"outputinitially":false,"state_type":"str","x":120,"y":2180,"wires":[["7ef3549c.0a3a3c"],[]]},{"id":"7ef3549c.0a3a3c","type":"change","z":"fa321c11.6a27e","name":"Change","rules":[{"t":"change","p":"topic","pt":"msg","from":"person.","fromt":"str","to":"","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"payload = \"home\" ? \"home\" : \"not_home\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":235,"y":2180,"wires":[["a291742f.d7f208"]],"l":false},{"id":"a291742f.d7f208","type":"rbe","z":"fa321c11.6a27e","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":285,"y":2180,"wires":[["e2cf5c7d.77564"]],"l":false},{"id":"e2cf5c7d.77564","type":"switch","z":"fa321c11.6a27e","name":"Home?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"home","vt":"str"},{"t":"eq","v":"not_home","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":380,"y":2180,"wires":[["9d73e1ba.be601","2f660aa2.85ab26"],["72c2b74a.d9c2a8","ed906ccf.b283e"]]},{"id":"9d73e1ba.be601","type":"api-current-state","z":"fa321c11.6a27e","name":"Status?","server":"f4c3f22d.c5133","version":2,"outputs":2,"halt_if":"Leaving","halt_if_type":"str","halt_if_compare":"is_not","entity_id":"input_select.{{topic}}","state_type":"str","blockInputOverrides":false,"outputProperties":[],"x":520,"y":2120,"wires":[["ef7f94e0.6a8248"],["ebc219d2.6fff48"]]},{"id":"2f660aa2.85ab26","type":"trigger","z":"fa321c11.6a27e","name":"5min","op1":"","op2":"{\"payload\":{\"data\":{\"option\":\"\"}}}","op1type":"nul","op2type":"json","duration":"5","extend":false,"overrideDelay":false,"units":"min","reset":"home","bytopic":"topic","topic":"topic","outputs":1,"x":890,"y":2220,"wires":[["9714d557.7341d8"]]},{"id":"72c2b74a.d9c2a8","type":"api-current-state","z":"fa321c11.6a27e","name":"Status?","server":"f4c3f22d.c5133","version":2,"outputs":2,"halt_if":"Leaving,Away","halt_if_type":"str","halt_if_compare":"does_not_include","entity_id":"input_select.{{topic}}","state_type":"str","blockInputOverrides":false,"outputProperties":[],"x":520,"y":2220,"wires":[["d753f9a8.0599e8"],[]]},{"id":"ed906ccf.b283e","type":"trigger","z":"fa321c11.6a27e","name":"5min","op1":"","op2":"{\"payload\":{\"data\":{\"option\":\"\"}}}","op1type":"nul","op2type":"json","duration":"5","extend":false,"overrideDelay":false,"units":"min","reset":"not_home","bytopic":"topic","topic":"topic","outputs":1,"x":890,"y":2160,"wires":[["ebc219d2.6fff48"]]},{"id":"ef7f94e0.6a8248","type":"api-call-service","z":"fa321c11.6a27e","name":"Just Arrived","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"input_select","service":"select_option","entityId":"","data":"{\"entity_id\":\"input_select.{{topic}}\",\"option\":\"Arrived\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":690,"y":2100,"wires":[["ed906ccf.b283e"]]},{"id":"ebc219d2.6fff48","type":"api-call-service","z":"fa321c11.6a27e","name":"Home","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"input_select","service":"select_option","entityId":"","data":"{\"entity_id\":\"input_select.{{topic}}\",\"option\":\"Home\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1130,"y":2120,"wires":[[]]},{"id":"d753f9a8.0599e8","type":"api-call-service","z":"fa321c11.6a27e","name":"Just Left","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"input_select","service":"select_option","entityId":"","data":"{\"entity_id\":\"input_select.{{topic}}\",\"option\":\"Leaving\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":680,"y":2240,"wires":[["2f660aa2.85ab26"]]},{"id":"9714d557.7341d8","type":"api-call-service","z":"fa321c11.6a27e","name":"Away","server":"f4c3f22d.c5133","version":3,"debugenabled":false,"service_domain":"input_select","service":"select_option","entityId":"","data":"{\"entity_id\":\"input_select.{{topic}}\",\"option\":\"Away\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1130,"y":2200,"wires":[[]]},{"id":"90bde2d9.09419","type":"comment","z":"fa321c11.6a27e","name":"Presence Tracking","info":"","x":160,"y":2100,"wires":[]},{"id":"f4c3f22d.c5133","type":"server","name":"Home Assistant","version":1,"legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
Input Select Fields you add (edit to your needs):
aaron:
options:
- Home
- Arrived
- Leaving
- Away
krissy:
options:
- Home
- Arrived
- Leaving
- Away
aiden:
options:
- Home
- Arrived
- Leaving
- Away
amaya:
options:
- Home
- Arrived
- Leaving
- Away
evelyn:
options:
- Home
- Arrived
- Leaving
- Away
karen:
options:
- Home
- Arrived
- Leaving
- Away
natalie:
options:
- Cleaning
- Away
Works flawlessly and provides incredible flexibility and creativity to your home automation announcements.