I was just messing with the join node, and i think it is an easier solution...
I will not be lazy and post my test join before i read yours...
Thanks @zenofmud
Only thing i had to do is making dummy msg so that the msg.topic is available on both parts before the join, that was easy!
[{"id":"d10da8c0.5a5958","type":"subflow","name":"FILE_EXISTS","info":"","category":"","in":[{"x":160,"y":100,"wires":[{"id":"919001e5.4322d8"}]}],"out":[{"x":1260,"y":160,"wires":[{"id":"23e2633f.d42c2c","port":1},{"id":"525ed2fe.30ff4c","port":0}]}],"env":[],"color":"#DDAA99"},{"id":"b1b06e08.94333","type":"fs-ops-access","z":"d10da8c0.5a5958","name":"fileexists","path":"xfilestore","pathType":"msg","filename":"xfilename","filenameType":"msg","read":true,"write":false,"throwerror":true,"x":500,"y":100,"wires":[["af46224c.691d4"],["af46224c.691d4"]]},{"id":"af46224c.691d4","type":"switch","z":"d10da8c0.5a5958","name":"","property":"error.message","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":670,"y":100,"wires":[["3db89492.81980c"],["525ed2fe.30ff4c"]]},{"id":"3db89492.81980c","type":"function","z":"d10da8c0.5a5958","name":"nok","func":"msg.fileexist=false;\nreturn msg;","outputs":1,"noerr":0,"x":850,"y":60,"wires":[["23e2633f.d42c2c"]]},{"id":"525ed2fe.30ff4c","type":"function","z":"d10da8c0.5a5958","name":"ok","func":"msg.fileexist=true;\nreturn msg;","outputs":1,"noerr":0,"x":850,"y":160,"wires":[[]]},{"id":"23e2633f.d42c2c","type":"repeat","z":"d10da8c0.5a5958","name":"x times","repetitions":"5","elseOutput":true,"outputs":2,"x":570,"y":240,"wires":[["b1b06e08.94333"],[]]},{"id":"919001e5.4322d8","type":"function","z":"d10da8c0.5a5958","name":"init","func":"msg.repetitions = msg.xrepetitions;\n// xfilestore en xfilename worden via input meegegeven\n\nreturn msg;","outputs":1,"noerr":0,"x":290,"y":100,"wires":[["b1b06e08.94333"]]},{"id":"b398a23d.84c758","type":"http request","z":"c80f5a41.19d26","name":"CAM image","method":"GET","ret":"bin","paytoqs":false,"url":"192.168.20.35:82/camsnapshot.jpg?idx=2","tls":"","persist":false,"proxy":"","authType":"basic","x":450,"y":120,"wires":[["39b78367.4b0924"]]},{"id":"f075aba.53b8758","type":"castv2-sender","z":"c80f5a41.19d26","name":"Google Home Hub","host":"","x":1070,"y":240,"wires":[["e4d9f1b7.0b9dc"]]},{"id":"39b78367.4b0924","type":"function","z":"c80f5a41.19d26","name":"BEWAAR FOTO MSG","func":"\n// this function generates a randomized file name\nvar myDate = new Date();\nvar namedate = myDate.getMonth()+ '-' +myDate.getDate()+ '-' +myDate.getFullYear()+ ':' + myDate.getHours()+ ':' + myDate.getMinutes()+ ':' + myDate.getSeconds();\n\nif (msg.service === \"Camera straat\") nwnaam = \"BEL_CAMERA_STRAAT_\";\nif (msg.service === \"Camera tuin\") nwnaam = \"BEL_CAMERA_TUIN_\";\n\nnaamprefix = \"xxx\";\nnwnaam1 = naamprefix + nwnaam + namedate + \".jpg\";\nnwnaam2 = nwnaam + namedate + \".jpg\";\n\nmsg.webnaam = nwnaam1; // naam zonder filestore met tmp prefix\nmsg.filename = global.get(\"filestore\") + nwnaam1; // naam met filestore met tmp prefix\nmsg.filename_nw = global.get(\"filestore\") + nwnaam2; // naam met filestore zonder tmp prefix\nmsg.nwnaam1 = nwnaam1;\nmsg.nwnaam2 = nwnaam2;\nmsg.camoscmd= \"sudo mv \" + msg.filename + \" \" + msg.filename_nw;\n\n//flow.set(\"camoscmd\", \"sudo mv \" + msg.filename + \" \" + msg.filename_nw);\n// flow is niet ok, andere cam image msg gebruiken deze in andere runs van de flow\n\nreturn[msg]","outputs":1,"noerr":0,"x":740,"y":120,"wires":[["463a5005.9bd78","4bebd44e.939b2c","89e8222f.5e809"]],"info":"if ( msg.payload === true )\n{waarde = \"On\"}\nelse \n{waarde = \"Off\"}\n\nvar uservar = '[{\"obj\": \"' + msg.topic + '\",\"act\":\"' + waarde + '\"}]';\n\nmsg.payload = {\"value\": uservar};\nmsg.payload.command = \"setuservariable\";\nmsg.payload.idx = 13;\n\nreturn msg\n\n\ndeze variant riep daarna ook json conversie aan"},{"id":"463a5005.9bd78","type":"file","z":"c80f5a41.19d26","name":"BEWAAR FOTO FILE","filename":"","appendNewline":true,"createDir":false,"overwriteFile":"true","encoding":"none","x":1080,"y":120,"wires":[[]]},{"id":"4637144f.1315d4","type":"exec","z":"c80f5a41.19d26","command":"","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":1030,"y":360,"wires":[[],[],[]]},{"id":"89e8222f.5e809","type":"function","z":"c80f5a41.19d26","name":"RENAME","func":"msg.payload= msg.camoscmd;\n\nreturn msg","outputs":1,"noerr":0,"x":260,"y":360,"wires":[["ff0fe699.8f2678"]],"info":"if ( msg.payload === true )\n{waarde = \"On\"}\nelse \n{waarde = \"Off\"}\n\nvar uservar = '[{\"obj\": \"' + msg.topic + '\",\"act\":\"' + waarde + '\"}]';\n\nmsg.payload = {\"value\": uservar};\nmsg.payload.command = \"setuservariable\";\nmsg.payload.idx = 13;\n\nreturn msg\n\n\ndeze variant riep daarna ook json conversie aan"},{"id":"6afe5bb1.0f9714","type":"function","z":"c80f5a41.19d26","name":"Nest hub IMAGES","func":"msg = \n{\n host:msg.ip_nest,\n payload: {\n type: \"MEDIA\",\n media: {\n url: global.get(\"url_pvk_websvr\") + msg.webnaam,\n title: \"CAMERA\", // optional unless desired\n }\n }\n};\n\nreturn[msg]","outputs":1,"noerr":0,"x":830,"y":240,"wires":[["f075aba.53b8758"]]},{"id":"b5b6fa52.c54518","type":"inject","z":"c80f5a41.19d26","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":120,"wires":[["e10660a6.816c6"]]},{"id":"e10660a6.816c6","type":"function","z":"c80f5a41.19d26","name":"params","func":"msg.service = \"Camera straat\";\nmsg.ip_nest = \"192.168.20.37\";\nmsg.webnaam = \"\"\n\nreturn[msg]","outputs":1,"noerr":0,"x":280,"y":120,"wires":[["b398a23d.84c758"]],"info":"if ( msg.payload === true )\n{waarde = \"On\"}\nelse \n{waarde = \"Off\"}\n\nvar uservar = '[{\"obj\": \"' + msg.topic + '\",\"act\":\"' + waarde + '\"}]';\n\nmsg.payload = {\"value\": uservar};\nmsg.payload.command = \"setuservariable\";\nmsg.payload.idx = 13;\n\nreturn msg\n\n\ndeze variant riep daarna ook json conversie aan"},{"id":"4bebd44e.939b2c","type":"function","z":"c80f5a41.19d26","name":"init fileexist","func":"msg.xfilename = msg.nwnaam1\nmsg.xfilestore = global.get(\"filestore\");\nmsg.xrepetitions = 5; // bij 0 directe test ?\n\nreturn[msg]","outputs":1,"noerr":0,"x":270,"y":240,"wires":[["4805323e.31b234"]],"info":"if ( msg.payload === true )\n{waarde = \"On\"}\nelse \n{waarde = \"Off\"}\n\nvar uservar = '[{\"obj\": \"' + msg.topic + '\",\"act\":\"' + waarde + '\"}]';\n\nmsg.payload = {\"value\": uservar};\nmsg.payload.command = \"setuservariable\";\nmsg.payload.idx = 13;\n\nreturn msg\n\n\ndeze variant riep daarna ook json conversie aan"},{"id":"8918d04d.c483f8","type":"comment","z":"c80f5a41.19d26","name":"kills msg content","info":"","x":1080,"y":80,"wires":[]},{"id":"f22930bb.71bcb8","type":"comment","z":"c80f5a41.19d26","name":"kills msg content","info":"","x":1080,"y":200,"wires":[]},{"id":"4805323e.31b234","type":"subflow:d10da8c0.5a5958","z":"c80f5a41.19d26","name":"FILE_EXISTS","env":[],"x":460,"y":240,"wires":[["bd30715a.e2f988"]]},{"id":"bd30715a.e2f988","type":"switch","z":"c80f5a41.19d26","name":"fileexist","property":"fileexist","propertyType":"msg","rules":[{"t":"true"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":640,"y":240,"wires":[["6afe5bb1.0f9714"],[]]},{"id":"55b6f318.f5fba4","type":"join","z":"c80f5a41.19d26","name":"","mode":"custom","build":"object","property":"","propertyType":"full","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":630,"y":360,"wires":[["5f7bf025.f3456"]]},{"id":"ff0fe699.8f2678","type":"function","z":"c80f5a41.19d26","name":"topic ","func":"msg.topic = \"flow_os\";\nreturn msg;","outputs":1,"noerr":0,"x":450,"y":360,"wires":[["55b6f318.f5fba4"]]},{"id":"e4d9f1b7.0b9dc","type":"function","z":"c80f5a41.19d26","name":"topic","func":"msg.topic = \"flow_hub\";\n\nreturn msg;","outputs":1,"noerr":0,"x":1250,"y":240,"wires":[["55b6f318.f5fba4"]]},{"id":"5f7bf025.f3456","type":"function","z":"c80f5a41.19d26","name":"init os command","func":"msg.payload = msg.camoscmd;\nreturn msg;","outputs":1,"noerr":0,"x":840,"y":360,"wires":[["4637144f.1315d4"]]}]type or paste code here