You can get relatively close using the split
node in Stream
Mode.
But using a wildcard will be difficult I think
I think using a time mechanism as @Colin suggests is easier if possible.
[{"id":"0782e146be5fa081","type":"split","z":"2d7bf6e3.84c97a","name":"Split","splt":"[16,4]","spltType":"bin","arraySplt":"1","arraySpltType":"len","stream":true,"addname":"","x":1275,"y":465,"wires":[["e994bc8c4cab35f1"]]},{"id":"f03b3c5953430b24","type":"debug","z":"2d7bf6e3.84c97a","name":"debug 2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1670,"y":465,"wires":[]},{"id":"e994bc8c4cab35f1","type":"function","z":"2d7bf6e3.84c97a","name":"Append to buffer","func":"const Complete = Buffer.concat([msg.payload, Buffer.from(msg.parts.ch)]);\nmsg.payload = Complete\nreturn msg","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1460,"y":465,"wires":[["f03b3c5953430b24"]]},{"id":"df30c9a57e575572","type":"group","z":"2d7bf6e3.84c97a","name":"Serial Message 1","style":{"label":true},"nodes":["0bfab46620bf633c","92629647ee0da0a9"],"x":829,"y":404,"w":352,"h":122},{"id":"0bfab46620bf633c","type":"inject","z":"2d7bf6e3.84c97a","g":"df30c9a57e575572","name":"Byte Collection 1 (ends with 0x10)","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[1,2,3,16]","payloadType":"bin","x":1015,"y":445,"wires":[["0782e146be5fa081"]]},{"id":"92629647ee0da0a9","type":"inject","z":"2d7bf6e3.84c97a","g":"df30c9a57e575572","name":"Byte Collection 2 (starts with 0x04)","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[4,1,2,3]","payloadType":"bin","x":1015,"y":485,"wires":[["0782e146be5fa081"]]},{"id":"269fb9aed58f32a6","type":"group","z":"2d7bf6e3.84c97a","name":"Serial Message 2","style":{"label":true},"nodes":["a15eae8c11cab119","a92bb40e5503ebb9"],"x":829,"y":544,"w":352,"h":122},{"id":"a15eae8c11cab119","type":"inject","z":"2d7bf6e3.84c97a","g":"269fb9aed58f32a6","name":"Byte Collection 3 (ends with 0x10)","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[1,2,3,16]","payloadType":"bin","x":1015,"y":585,"wires":[["0782e146be5fa081"]]},{"id":"a92bb40e5503ebb9","type":"inject","z":"2d7bf6e3.84c97a","g":"269fb9aed58f32a6","name":"Byte Collection 4 (starts with 0x04)","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[4,1,2,3]","payloadType":"bin","x":1015,"y":625,"wires":[["0782e146be5fa081"]]}]
The inject
Nodes are just emulating the chunked packets, and is delivering 2 complete payloads
its not perfect - but worth investigating the split
node in stream mode