Joining messages delivers different results

Hi,

i am confused. Here i present two flows. They look similar. The only difference is, how they are wired from the html request node to the change node. I changed the order of the wires.

In the first case i get the expected result.

[{"id":"3c1ba8de.b834c8","type":"inject","z":"66a867b9.5d77d8","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":1360,"wires":[["4fad8f0c.d0f44"]]},{"id":"4fad8f0c.d0f44","type":"http request","z":"66a867b9.5d77d8","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://synekt.de/karriere/aktuelle-projekte-projektangebote/","tls":"","persist":false,"proxy":"","authType":"","x":270,"y":1360,"wires":[["e1db8854.974808","c3531162.06cbe"]]},{"id":"c3531162.06cbe","type":"change","z":"66a867b9.5d77d8","name":"set topic","rules":[{"t":"set","p":"topic","pt":"msg","to":"title","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":460,"y":1340,"wires":[["8b46d09.8cb5e3"]]},{"id":"8b46d09.8cb5e3","type":"html","z":"66a867b9.5d77d8","name":"get inner HTML","property":"payload","outproperty":"payload","tag":"tbody>tr>td:nth-child(2)","ret":"html","as":"multi","x":620,"y":1340,"wires":[["28cd10ac.d6604"]]},{"id":"e1db8854.974808","type":"change","z":"66a867b9.5d77d8","name":"set topic","rules":[{"t":"set","p":"topic","pt":"msg","to":"link","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":460,"y":1380,"wires":[["9ce930eb.70594"]]},{"id":"9ce930eb.70594","type":"html","z":"66a867b9.5d77d8","name":"get inner HTML","property":"payload","outproperty":"payload","tag":"tbody>tr>td:nth-child(1)","ret":"html","as":"multi","x":620,"y":1380,"wires":[["28cd10ac.d6604"]]},{"id":"28cd10ac.d6604","type":"join","z":"66a867b9.5d77d8","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":810,"y":1360,"wires":[["4433f9e0.ead378"]]},{"id":"4433f9e0.ead378","type":"debug","z":"66a867b9.5d77d8","name":"right","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":950,"y":1360,"wires":[]}]

In the second case the result is unexpected.

[{"id":"bb13adf1.e7f2e","type":"inject","z":"66a867b9.5d77d8","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":1540,"wires":[["8c241cc.45c43e"]]},{"id":"8c241cc.45c43e","type":"http request","z":"66a867b9.5d77d8","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://synekt.de/karriere/aktuelle-projekte-projektangebote/","tls":"","persist":false,"proxy":"","authType":"","x":270,"y":1540,"wires":[["41a789e5.aad0d8","9d9ba2a6.34ff"]]},{"id":"41a789e5.aad0d8","type":"change","z":"66a867b9.5d77d8","name":"set topic","rules":[{"t":"set","p":"topic","pt":"msg","to":"title","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":460,"y":1520,"wires":[["8ed5018f.d305"]]},{"id":"8ed5018f.d305","type":"html","z":"66a867b9.5d77d8","name":"get inner HTML","property":"payload","outproperty":"payload","tag":"tbody>tr>td:nth-child(2)","ret":"html","as":"multi","x":620,"y":1520,"wires":[["a060a656.0eca98"]]},{"id":"9d9ba2a6.34ff","type":"change","z":"66a867b9.5d77d8","name":"set topic","rules":[{"t":"set","p":"topic","pt":"msg","to":"link","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":460,"y":1560,"wires":[["172cd409.add06c"]]},{"id":"172cd409.add06c","type":"html","z":"66a867b9.5d77d8","name":"get inner HTML","property":"payload","outproperty":"payload","tag":"tbody>tr>td:nth-child(1)","ret":"html","as":"multi","x":620,"y":1560,"wires":[["a060a656.0eca98"]]},{"id":"a060a656.0eca98","type":"join","z":"66a867b9.5d77d8","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":810,"y":1540,"wires":[["d51062c4.e385c"]]},{"id":"d51062c4.e385c","type":"debug","z":"66a867b9.5d77d8","name":"mistake","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":960,"y":1540,"wires":[]}]

Does anyone have an idea, why i get different results. Thanks in advance.

bigmadgaga

I see no difference between the two flows you posted .. unless im missing something.

Why do you try to join ("After a message parts 2") after the HTML nodes .. since the html nodes produce more than 2 messages?

Why don't you just put the result of your HTML nodes in an array to have a clean result (in an array) so the join node can more easily do their job :wink: which is joining the Title arrays and the Link arrays results.

change HTML nodes to "as single message containing an array" :

image

[EDIT] and also uncheck from Join node "and every subsequent message"