In your original function you used msg.payload[0]
in
obj.payload.W=(msg.payload[0]/1 << 16) >> 16;
to access the buffer.
After the join node both device buffers are at
msg.payload.unit1[0]
one buffer from sensor 1
and
msg.payload.unit3[0]
one bffer from sensor 2