Hi Steve,
Thanks for your help but still no luck unfortunately and I have the same problem when using your solution so I think it's something unique to the KNX/http/join combination which you can't replicate at your end.
The only way I can get a message out of the join node is to either:
- Manually trigger the flow via the inject node
- Disconnect the http going into the join node (obviously breaks http out)
I don't know whether there's a further debug mode but it feels like the flow is stopping at the join node when it has a combination of the KNX messages and a http message (http message received directly as an input or via KNX node passing it through -- see later diagrams).
The topic error message from the join node which I posted last night was due to passing the http in to the join without a topic (it was set to use msg.topic as the key) but once I add a topic to the http in node it silently stops in exactly the same way as it does if I tell the KNX node to pass the incoming message through.
Interestingly enough, if I tell the join node to combine each payload as a key/value object then it works fine so I have further narrowed this down to the join node combining each complete message as a key value object.
Combining each payload (works):
**Combining each complete message and passing HTTP via KNX - set within KNX node (doesn't work): **
Taking HTTP around KNX node to rule that out - KNX node told not to pass incoming message (doesn't work)
I'll have to upload this in another post.
What I can't get my head around, using the last diagram as an example, is that if I tell the join node to send the message after 4 message parts, it stops after (presumably) three messages (HTTP, Bed3, Bed4). If I change the join node to 3, it sops after (presumably) two messages (HTTP and Bed3). Here I can only go off what I can see on the screen so it may not be entirely accurate but the flow is definitely stopping with that identifiable pattern.
It's plausible that I'm barking up the wrong tree but I currently think it's a combination of joining the complete message as an key/value object, when there is any http in data involved (res/req).
Cheers,
Ben
[{"id":"ec867455.57c7a","type":"tab","label":"Flow 4","disabled":false,"info":""},{"id":"6c4d2df4.1c29f4","type":"inject","z":"ec867455.57c7a","name":"Mode check","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":"55","x":310,"y":40,"wires":[["874c8939.75a4e","bedced6d.183fa","68684504.a0fd14"]]},{"id":"874c8939.75a4e","type":"knxUltimate","z":"ec867455.57c7a","server":"7a3e0296.83bffc","topic":"12/1/7","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"","listenallga":false,"name":"Kitchen","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":"1","formatnegativevalue":"leave","formatdecimalsvalue":"999","passthrough":"yes","x":500,"y":40,"wires":[["7f2c2e61.92b018"]]},{"id":"bedced6d.183fa","type":"knxUltimate","z":"ec867455.57c7a","server":"7a3e0296.83bffc","topic":"12/3/7","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"","listenallga":false,"name":"Snug","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":"1","formatnegativevalue":"leave","formatdecimalsvalue":"999","passthrough":"yes","x":490,"y":100,"wires":[["7f2c2e61.92b018"]]},{"id":"c6c6c973.337b88","type":"debug","z":"ec867455.57c7a","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":930,"y":120,"wires":[]},{"id":"3cd7ed9a.18c8ea","type":"change","z":"ec867455.57c7a","name":"Set Headers","rules":[{"t":"set","p":"headers","pt":"msg","to":"{}","tot":"json"},{"t":"set","p":"headers.content-type","pt":"msg","to":"application/json","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":930,"y":80,"wires":[["c6c6c973.337b88","72348349.22af04"]]},{"id":"2627f8ff.fb3438","type":"http in","z":"ec867455.57c7a","name":"","url":"/mode-check","method":"get","upload":false,"swaggerDoc":"","x":290,"y":120,"wires":[["874c8939.75a4e","bedced6d.183fa","68684504.a0fd14"]]},{"id":"7f2c2e61.92b018","type":"join","z":"ec867455.57c7a","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"devicename","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":730,"y":80,"wires":[["f5d93fdb.39c638","3cd7ed9a.18c8ea"]]},{"id":"f5d93fdb.39c638","type":"debug","z":"ec867455.57c7a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":730,"y":120,"wires":[]},{"id":"72348349.22af04","type":"http response","z":"ec867455.57c7a","name":"","statusCode":"","headers":{},"x":1110,"y":80,"wires":[]},{"id":"68684504.a0fd14","type":"knxUltimate","z":"ec867455.57c7a","server":"7a3e0296.83bffc","topic":"13/4/7","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"","listenallga":false,"name":"Bed1","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":"1","formatnegativevalue":"leave","formatdecimalsvalue":"999","passthrough":"yes","x":490,"y":160,"wires":[["7f2c2e61.92b018"]]},{"id":"d43967ea.10b1b8","type":"comment","z":"ec867455.57c7a","name":"THIS WORKS - COMBINING EACH PAYLOAD","info":"","x":670,"y":220,"wires":[]},{"id":"dbfe6bcb.d2914","type":"inject","z":"ec867455.57c7a","name":"Mode check","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":"55","x":310,"y":440,"wires":[["a1bb5ba6.9e4b18","a02ab074.aa7368","61289a07.dd061c"]]},{"id":"a1bb5ba6.9e4b18","type":"knxUltimate","z":"ec867455.57c7a","server":"7a3e0296.83bffc","topic":"13/5/7","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"","listenallga":false,"name":"Bed3","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":"1","formatnegativevalue":"leave","formatdecimalsvalue":"999","passthrough":"yes","x":490,"y":420,"wires":[["c68f5db6.44a568"]]},{"id":"a02ab074.aa7368","type":"knxUltimate","z":"ec867455.57c7a","server":"7a3e0296.83bffc","topic":"14/0/7","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"","listenallga":false,"name":"Bed4","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":"1","formatnegativevalue":"leave","formatdecimalsvalue":"999","passthrough":"no","x":490,"y":480,"wires":[["c68f5db6.44a568"]]},{"id":"af43a624.729f8","type":"debug","z":"ec867455.57c7a","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":930,"y":520,"wires":[]},{"id":"57487284.1f8374","type":"change","z":"ec867455.57c7a","name":"Set Headers","rules":[{"t":"set","p":"headers","pt":"msg","to":"{}","tot":"json"},{"t":"set","p":"headers.content-type","pt":"msg","to":"application/json","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":930,"y":480,"wires":[["af43a624.729f8","a16668ae.d9cc18"]]},{"id":"b8b8cd0f.36cdd","type":"debug","z":"ec867455.57c7a","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":730,"y":520,"wires":[]},{"id":"a16668ae.d9cc18","type":"http response","z":"ec867455.57c7a","name":"","statusCode":"","headers":{},"x":1130,"y":480,"wires":[]},{"id":"61289a07.dd061c","type":"knxUltimate","z":"ec867455.57c7a","server":"7a3e0296.83bffc","topic":"11/1/7","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"","listenallga":false,"name":"Gym","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":"1","formatnegativevalue":"leave","formatdecimalsvalue":"999","passthrough":"no","x":490,"y":540,"wires":[["c68f5db6.44a568"]]},{"id":"c68f5db6.44a568","type":"join","z":"ec867455.57c7a","name":"","mode":"custom","build":"object","property":"","propertyType":"full","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":730,"y":480,"wires":[["b8b8cd0f.36cdd","57487284.1f8374"]]},{"id":"37980b7a.f44b44","type":"http in","z":"ec867455.57c7a","name":"","url":"mode-query","method":"get","upload":false,"swaggerDoc":"","x":290,"y":520,"wires":[["a1bb5ba6.9e4b18","a02ab074.aa7368","61289a07.dd061c"]]},{"id":"7cc05eee.876838","type":"comment","z":"ec867455.57c7a","name":"THIS FAILS - COMBINING EACH COMPLETE MESSAGE WHILST PASSING HTTP VIA KNX NODE","info":"","x":810,"y":600,"wires":[]},{"id":"3771936.cd91b6c","type":"change","z":"ec867455.57c7a","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"webtopic","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":900,"wires":[["abe44d62.c2aff8"]]},{"id":"5d86c415.2a6f9c","type":"inject","z":"ec867455.57c7a","name":"Mode check","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":"55","x":310,"y":740,"wires":[["48152228.20892c","60d67dda.e28474","a6c30098.7f22f"]]},{"id":"48152228.20892c","type":"knxUltimate","z":"ec867455.57c7a","server":"7a3e0296.83bffc","topic":"13/5/7","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"","listenallga":false,"name":"Bed3","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":"1","formatnegativevalue":"leave","formatdecimalsvalue":"999","passthrough":"no","x":490,"y":720,"wires":[["abe44d62.c2aff8"]]},{"id":"60d67dda.e28474","type":"knxUltimate","z":"ec867455.57c7a","server":"7a3e0296.83bffc","topic":"14/0/7","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"","listenallga":false,"name":"Bed4","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":"1","formatnegativevalue":"leave","formatdecimalsvalue":"999","passthrough":"no","x":490,"y":780,"wires":[["abe44d62.c2aff8"]]},{"id":"435256db.86099","type":"debug","z":"ec867455.57c7a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":930,"y":820,"wires":[]},{"id":"f06c61c4.0c1e1","type":"change","z":"ec867455.57c7a","name":"Set Headers","rules":[{"t":"set","p":"headers","pt":"msg","to":"{}","tot":"json"},{"t":"set","p":"headers.content-type","pt":"msg","to":"application/json","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":930,"y":780,"wires":[["435256db.86099","4dc7f296.d94aac"]]},{"id":"607a0b92.2fe7e4","type":"debug","z":"ec867455.57c7a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":730,"y":820,"wires":[]},{"id":"4dc7f296.d94aac","type":"http response","z":"ec867455.57c7a","name":"","statusCode":"","headers":{},"x":1130,"y":780,"wires":[]},{"id":"a6c30098.7f22f","type":"knxUltimate","z":"ec867455.57c7a","server":"7a3e0296.83bffc","topic":"11/1/7","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"","listenallga":false,"name":"Gym","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":"1","formatnegativevalue":"leave","formatdecimalsvalue":"999","passthrough":"no","x":490,"y":840,"wires":[["abe44d62.c2aff8"]]},{"id":"abe44d62.c2aff8","type":"join","z":"ec867455.57c7a","name":"","mode":"custom","build":"object","property":"","propertyType":"full","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":730,"y":780,"wires":[["607a0b92.2fe7e4","f06c61c4.0c1e1"]]},{"id":"5196e004.4d748","type":"http in","z":"ec867455.57c7a","name":"","url":"mode-query2","method":"get","upload":false,"swaggerDoc":"","x":290,"y":820,"wires":[["48152228.20892c","60d67dda.e28474","a6c30098.7f22f","3771936.cd91b6c"]]},{"id":"1464c1d8.6f250e","type":"comment","z":"ec867455.57c7a","name":"THIS FAILS - TAKING HTTP AROUND KNX NODE","info":"","x":680,"y":960,"wires":[]},{"id":"7a3e0296.83bffc","type":"knxUltimate-config","z":"","host":"192.168.6.15","port":"3671","physAddr":"15.15.22","suppressACKRequest":false,"csv":"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","statusDisplayLastUpdate":false,"statusDisplayDeviceNameWhenALL":false,"statusDisplayDataPoint":false,"name":"Local KNX-IP","localEchoInTunneling":false,"delaybetweentelegrams":"","delaybetweentelegramsfurtherdelayREAD":""}]