# Modbus Server with node-red Docker - Port forwarding required?

**URL:** <https://discourse.nodered.org/t/modbus-server-with-node-red-docker-port-forwarding-required/78096>\
**Category:** General\
**Tags:** docker\
**Created:** [2 May 2023 11:04 UTC](https://discourse.nodered.org/t/modbus-server-with-node-red-docker-port-forwarding-required/78096 "2023-05-02T11:04:25Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![Darren](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/darren/32/92202_2.png) [@Darren](https://discourse.nodered.org/u/Darren)\
**Post date:** [6 June 2023 14:08 UTC](https://discourse.nodered.org/t/modbus-server-with-node-red-docker-port-forwarding-required/78096/12 "2023-06-06T14:08:44Z")

</div>

Modbus TCP garbage was single-number arrays getting broadcast to modbus rather than just numbers, e.g.

```auto
{"value": 0: 12345,"register":"holding","address":8,"disableMsgOutput":0}

```

rather than the desired

```auto
{"value": 12345,"register":"holding","address":8,"disableMsgOutput":0}

```

I picked out the values from those weird little arrays via:

```auto
var temp1 = msg.payload[0]

msg.payload = {
   'value': temp1,
   'register': 'holding',
   'address': 2,
   'disableMsgOutput': 0
};

return msg;

```

[My colleague is still getting dynamic byte swapping](https://discourse.nodered.org/t/modbus-tcp-previews-correct-output-but-receiving-end-gets-garbage/78322/), but I at least am reading back expected numbers now.

_ **Lesson: beware of single-number arrays.** _

---

_[View the full topic](https://discourse.nodered.org/t/modbus-server-with-node-red-docker-port-forwarding-required/78096)._
