It's all a little bit confusing,
When you say format is wrong you are not quite right. The lines you are referring to (L1359, L1371, L1490) call a hardware interface's exports.send() function. I changed the signature so that the hardware interface developer only has to deal with the names of the objects and IO points. I don't pass the id's anymore. That totally makes sense.
msgContent.pos is always only the name of a IO point. That is what is send by the UI's object.js write() function. So socketSender() has to send the name of the IO point as well because this format needs to be consistent since it is sent to the same server. Befor I fixed it socketSender() did send an id.
When a link is created by the RealityEditor its locationInA / locationInB is set as IOName + ObjID which is why obj and pos are added together in L1362.
Well I can only say it works now and it makes sense (at least to me ) It's a little bit difficult to explain though.