Do you mean the whole Node-Red flow? If so, here it is:
[{"id":"7c4db192.60eb1","type":"tab","label":"Smoke Alarms","disabled":false,"info":""},{"id":"759468aa.dd262","type":"server-state-changed","z":"7c4db192.60eb1","name":"Upstairs Status","server":"c85449ee.1d2f08","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.smoke_upstairs_status","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":100,"y":100,"wires":[["61f4d322.ff4b54"]]},{"id":"38305119.cd581e","type":"switch","z":"7c4db192.60eb1","name":"Status","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Smoke","vt":"str"},{"t":"eq","v":"CO","vt":"str"},{"t":"eq","v":"Silenced","vt":"str"},{"t":"eq","v":"CO_EOL","vt":"str"},{"t":"eq","v":"Test","vt":"str"},{"t":"eq","v":"Idle","vt":"str"}],"checkall":"false","repair":false,"outputs":6,"x":510,"y":140,"wires":[["33ca2650.533b1a"],["4a0f4a6f.78322c"],["ee62a50d.cde3d8"],["6bd03bc.8b06bc4"],["f9388939.471ff8"],[]]},{"id":"33ca2650.533b1a","type":"function","z":"7c4db192.60eb1","name":"Smoke","func":"var locationStr = msg.smoke_location;\nvar topicStr = locationStr + \" Smoke Alarm - Smoke Detected\"\nvar payloadStr = \"The \" + locationStr.toLowerCase() + \" smoke alarm has detected smoke! Call 911!\"\nmsg = {\n topic: topicStr,\n payload: payloadStr,\n priority: 0\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":680,"y":60,"wires":[["d99d9a5d.3d49d"]]},{"id":"d99d9a5d.3d49d","type":"pushover","z":"7c4db192.60eb1","name":"Notify Status","device":"","title":"","priority":0,"sound":"persistent","url":"","url_title":"","html":false,"x":890,"y":140,"wires":[]},{"id":"4a0f4a6f.78322c","type":"function","z":"7c4db192.60eb1","name":"CO","func":"var locationStr = msg.smoke_location;\nvar topicStr = locationStr + \" Smoke Alarm - Carbon Monoxide\"\nvar payloadStr = \"The \" + locationStr.toLowerCase() + \" smoke alarm has detected Carbon Monoxide! Get out of there! Save the cats!\"\nmsg = {\n topic: topicStr,\n payload: payloadStr,\n priority: 0\n}\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":670,"y":100,"wires":[["d99d9a5d.3d49d"]]},{"id":"ee62a50d.cde3d8","type":"function","z":"7c4db192.60eb1","name":"Silenced","func":"var locationStr = msg.smoke_location;\nvar topicStr = locationStr + \" Smoke Alarm - Silenced\"\nvar payloadStr = \"The \" + locationStr.toLowerCase() + \" smoke alarm has been Silenced. Must have been a false alarm. Whew!\"\nmsg = {\n topic: topicStr,\n payload: payloadStr,\n priority: 0\n}\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":680,"y":140,"wires":[["d99d9a5d.3d49d"]]},{"id":"6bd03bc.8b06bc4","type":"function","z":"7c4db192.60eb1","name":"CO EOL","func":"var locationStr = msg.smoke_location;\nvar topicStr = locationStr + \" Smoke Alarm - CO EOL\"\nvar payloadStr = \"The \" + locationStr.toLowerCase() + \" smoke alarm's CO detector is end of lifed. This unit should be replaced.\"\nmsg = {\n topic: topicStr,\n payload: payloadStr,\n priority: 0\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":680,"y":180,"wires":[["d99d9a5d.3d49d"]]},{"id":"f9388939.471ff8","type":"function","z":"7c4db192.60eb1","name":"Test","func":"var locationStr = msg.smoke_location;\nvar topicStr = locationStr + \" Smoke Alarm - Test\"\nvar payloadStr = \"The \" + locationStr.toLowerCase() + \" smoke alarm was tested. Feel free to ignore this.\"\nmsg = {\n topic: topicStr,\n payload: payloadStr,\n priority: 0\n}\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":670,"y":220,"wires":[["d99d9a5d.3d49d"]]},{"id":"61f4d322.ff4b54","type":"change","z":"7c4db192.60eb1","name":"Set Upstairs","rules":[{"t":"set","p":"smoke_location","pt":"msg","to":"Upstairs","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":100,"wires":[["38305119.cd581e"]]},{"id":"bcca34ed.dabec8","type":"server-state-changed","z":"7c4db192.60eb1","name":"Upstairs Health","server":"c85449ee.1d2f08","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.smoke_upstairs_health","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":100,"y":300,"wires":[["8c6caa35.f90318"]]},{"id":"4d676eb4.bca8","type":"switch","z":"7c4db192.60eb1","name":"Health","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Malfunction Detected","vt":"str"},{"t":"eq","v":"Malfunction Clear","vt":"str"},{"t":"eq","v":"Healthy","vt":"str"}],"checkall":"false","repair":false,"outputs":3,"x":510,"y":320,"wires":[["6af67184.53e13"],["f3ff7726.ef9f88"],[]]},{"id":"40d6aa02.f322e4","type":"pushover","z":"7c4db192.60eb1","name":"Notify Health","device":"","title":"","priority":0,"sound":"gamelan","url":"","url_title":"","html":false,"x":890,"y":320,"wires":[]},{"id":"6af67184.53e13","type":"function","z":"7c4db192.60eb1","name":"Malfunction","func":"var locationStr = msg.smoke_location;\nvar topicStr = locationStr + \" Smoke Alarm - Malfunction Detected\"\nvar payloadStr = \"The \" + locationStr.toLowerCase() + \" smoke alarm has detected a malfunction!\"\nmsg = {\n topic: topicStr,\n payload: payloadStr,\n priority: 0\n}\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":690,"y":300,"wires":[["40d6aa02.f322e4"]]},{"id":"f3ff7726.ef9f88","type":"function","z":"7c4db192.60eb1","name":"Cleared","func":"var locationStr = msg.smoke_location;\nvar topicStr = locationStr + \" Smoke Alarm - Malfunction Cleared\"\nvar payloadStr = \"The \" + locationStr.toLowerCase() + \" smoke alarm malfunction has been cleared.\"\nmsg = {\n topic: topicStr,\n payload: payloadStr,\n priority: 0\n}\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":680,"y":340,"wires":[["40d6aa02.f322e4"]]},{"id":"8c6caa35.f90318","type":"change","z":"7c4db192.60eb1","name":"Set Upstairs","rules":[{"t":"set","p":"smoke_location","pt":"msg","to":"Upstairs","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":300,"wires":[["4d676eb4.bca8"]]},{"id":"679ebea0.2b6ef","type":"server-state-changed","z":"7c4db192.60eb1","name":"Upstairs Battery","server":"c85449ee.1d2f08","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.first_alert_upstairs_battery_level","entityidfiltertype":"exact","outputinitially":true,"state_type":"num","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":100,"y":460,"wires":[["df09463a.05c358"]]},{"id":"404bc0fa.320928","type":"switch","z":"7c4db192.60eb1","name":"Battery","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"10","vt":"str"}],"checkall":"false","repair":false,"outputs":1,"x":520,"y":480,"wires":[["7e38e20.af437a"]]},{"id":"7e38e20.af437a","type":"function","z":"7c4db192.60eb1","name":"Low","func":"var locationStr = msg.smoke_location;\nvar topicStr = locationStr + \" Smoke Alarm - Low Battery\"\nvar payloadStr = \"The \" + locationStr.toLowerCase() + \" smoke alarm has a battery level of less than 10%. Consider replacing the batteries.\"\nmsg = {\n topic: topicStr,\n payload: payloadStr,\n priority: 0\n}\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":670,"y":480,"wires":[["3572e5f5.de6c42"]]},{"id":"df09463a.05c358","type":"change","z":"7c4db192.60eb1","name":"Set Upstairs","rules":[{"t":"set","p":"smoke_location","pt":"msg","to":"Upstairs","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":460,"wires":[["404bc0fa.320928"]]},{"id":"3572e5f5.de6c42","type":"pushover","z":"7c4db192.60eb1","name":"Notify Battery","device":"","title":"","priority":0,"sound":"intermission","url":"","url_title":"","html":false,"x":900,"y":480,"wires":[]},{"id":"a8a224ad.aa73e8","type":"server-state-changed","z":"7c4db192.60eb1","name":"MBR Entrance Status","server":"c85449ee.1d2f08","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.smoke_mbr_entrance_status","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":120,"y":160,"wires":[["3d4da32b.e8a754"]]},{"id":"3d4da32b.e8a754","type":"change","z":"7c4db192.60eb1","name":"Set MBR Entrance","rules":[{"t":"set","p":"smoke_location","pt":"msg","to":"Master Bedroom Entrance","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":160,"wires":[["38305119.cd581e"]]},{"id":"74d2caf9.224c3c","type":"server-state-changed","z":"7c4db192.60eb1","name":"MBR Entrance Health","server":"c85449ee.1d2f08","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.smoke_mbr_entrance_health","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":120,"y":360,"wires":[["176438a7.eabeb7"]]},{"id":"176438a7.eabeb7","type":"change","z":"7c4db192.60eb1","name":"Set MBR Entrance","rules":[{"t":"set","p":"smoke_location","pt":"msg","to":"Master Bedroom Entrance","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":360,"wires":[["4d676eb4.bca8"]]},{"id":"8ffa5705.707988","type":"server-state-changed","z":"7c4db192.60eb1","name":"MBR Entrance Battery","server":"c85449ee.1d2f08","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.first_alert_mbr_entrance_battery_level","entityidfiltertype":"exact","outputinitially":true,"state_type":"num","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":120,"y":520,"wires":[["1fb94b78.3f3855"]]},{"id":"1fb94b78.3f3855","type":"change","z":"7c4db192.60eb1","name":"Set MBR Entrance","rules":[{"t":"set","p":"smoke_location","pt":"msg","to":"Master Bedroom Entrance","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":520,"wires":[["404bc0fa.320928"]]},{"id":"c85449ee.1d2f08","type":"server","name":"Home Assistant","addon":true}]
I wasn’t sure if this exposed my Pushover user key or application API key. But I searched for them in the exported text and didn’t see them, so hopefully I’m safe. I guess Node-Red stores keys like that elsewhere. Maybe it’s possible to get it to use the HA secrets file?
Anyway, hope this helps.