Smoke detected, wait X minutes then turn on fan once smoke cleared

I'm working with Node-Red and want it to turn off my fans if smoke is detected to prevent possible spread of fire. What I would like for it to do is that one the status turns to clear, to wait X minutes and see if it's still clear. If so then turn on the fan to clear out smoke. Is there a good way to accomplish this?

Welcome to the forum, you opened 3 topics, with no information about your devices, no example flow etc.

Did you read through the documentation and watched the whole playlist (short videos that cover the essentials) to get an idea on how node-red works and how you could apply in your situation.

I have a very large flow for my WHF (Whole House Fan) and have a few areas I am working on which I need some guidance to. I didn't want to post the complete flow as it's VERY big, but can post the part which I am looking for some guidance to. I was hopeful that the description I posted would provide enough info so that I could view a sample flow as to how to get these 3 different topics to work.
I have reviewed the documentation to a healthy extent, and am just having a few what I thought are minor challenges, but they are kicking me in the rear.

[{"id":"a607dc72.c9d2f","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"d2c9384f.681518","type":"server-state-changed","z":"a607dc72.c9d2f","name":"Guestroom Smoke","server":"2ee084e7.d905bc","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.guest_bedroom_smoke_and_carbon_monoxide_alarm_alarmtype","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":130,"y":180,"wires":[["6c5323dc.27025c","46f215f1.89b04c"]]},{"id":"6c5323dc.27025c","type":"change","z":"a607dc72.c9d2f","name":"topic","rules":[{"t":"set","p":"topic","pt":"msg","to":"guest","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":170,"y":220,"wires":[["46f215f1.89b04c"]]},{"id":"46f215f1.89b04c","type":"join","z":"a607dc72.c9d2f","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":350,"y":180,"wires":[["775940bc.796e6"]]},{"id":"775940bc.796e6","type":"function","z":"a607dc72.c9d2f","name":"Check smoke","func":"if (msg.payload.guest == \"13\" && msg.payload.michael == \"13\" && msg.payload.paige == \"13\" && msg.payload.downstairs == \"Ok\" && msg.payload.upstairs == \"Ok\")\n{\n return [msg, null]\n} else \n{    \n  return [null, msg]\n}\n","outputs":2,"noerr":0,"initialize":"","finalize":"","x":520,"y":180,"wires":[["e04a77a3.e229c8"],["72a941cc.01d18"]]},{"id":"e04a77a3.e229c8","type":"debug","z":"a607dc72.c9d2f","name":"once smoke is clear, wait 5 minutes then check HVAC status","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":890,"y":140,"wires":[]},{"id":"72a941cc.01d18","type":"api-current-state","z":"a607dc72.c9d2f","name":"Upstairs HVAC","server":"2ee084e7.d905bc","version":1,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"climate.upstairs_hallway","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":740,"y":200,"wires":[[],[]]},{"id":"2ee084e7.d905bc","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]