As an interim measure until the TCP binding is updated for OH3 (if ever), you might consider using Node-Red. By using a TCP node which I connected to my TCP listener item in OH3 I was able to replicate the functionality of the TCP binding. I’ve only been testing it for a couple of hours but it seems pretty solid so far.
I achieved this using 2 flows. Flow 1 was a TCP In node connected to a OH-Out node which is mapped to my Elk_Bridge item. This flow receives the TCP stream and passes it to OH. Flow 2 is the OpenHAB-In node, also mapped to the Elk_Bridge item and is connected to a TCP Out node. To assist with testing, I used a debug node in place of the OH node to make sure I wasn’t going to trigger anything.
I have very little experience with Node-Red but I surprised myself with how easy this was to set up. I use openHABian so all I needed to do was install the Node-Red package using the built in config.
Of course my preference is to have less dependence on systems outside of OH, and I definitely didn’t want to run an instance of OH2 just for this alone, so I think this is a good workaround until such time (thinking optimistically here) that the TCP binding is updated. I’ll have to check, but this was the last thing holding me back from going fully OH3, so I’ll be able to progress my migration now.