You don’t have to. If you are happy using PaperUI, all you have to do is configure your data Thing readTransform parameter to point to your js filename.
PaperUI method and xxx.things file method set exactly the same parameters in your Things. See
A poller Thing is a poller Thing.
A data Thing is a data Thing.
Whether the bridge Thing that owns them is TCP or RTU makes no difference at all to them.
You set up a serial bridge Thing for RTU or a tcp bridge Thing for TCP.
Which part of setting up a serial bridge Thing are you having trouble with?
I searched this forum for an example of modbus serial Thing, here’s one