Use Global Cache iTach Flex as a bridge for Lutron GrafikEye RS232

I have 2 devices that I am trying to make work with OH. I have a Global Cache iTachFlex that is set to operate in Serial mode. It is connected to a Lutron GrafikEye RS232 bridge.

This works fairly well with Simple Control today, but I am trying to migrate all my home automation over to OH. This is the last straw that is keeping me on Simple Control since my lighting is Grafik Eye driven and all I have is a RS232 bridge (no IP bridge).

Reading through the code, it doesn’t appear that I can do this with scripts, since the RS232 code in the Lutron binding seems to want to open up a serial port.

I was planning to add some code to both the Global Cache and Lutron modules to expose the connected serial port, but I was wondering if there are easier or cleaner ways to achieve the same outcome. Thank you.

I’m a little confused. And I apologize for not being familiar with the Luton GrafikEye.

But, if the Lutron binding wants to open an RS232 connection, why do you even need the itach Flex?

Edit: Ah, I bet it’s because the GrafikEye is not within 50 ft (max RS232 distance) of the OH server.

Thanks Mark. This is currently setup as GrafikEye -> GrafikEye RS232 -> iTachFlex -> SimpleControl and you are right that I could just get a USB <> serial adaptor on the OH machine and connect it directly to the GrafikEye RS232 box. The OH machine and GrafikEye aren’t in the same room, but even if I move the OH closer to the GrafikEye, it would involve pulling some new wires and drywall patching.

My first preference would be to just get rid of Simple Control and leave the remaining infrastructure in place as is. I was hoping that one could expose the iTach serial port through org.eclipse.smarthome.io.transport.serial.internal.SerialPortRegistry, etc.

It looks like SerialPortProvider is a new addition and is actively being discussed by @maggu2810, @msteigenberger and @Kai in https://github.com/eclipse/smarthome/pull/5560

Yeah, I haven’t been following that PR. I guess the idea is that a binding (globalcache in this case) could expose a serial port through the SerialPortProvider. That serial port then could be configured in the Lutron binding?

Yep, that’s the idea. Is this a reasonable direction to pursue or are there easier or better ways here?

Seems reasonable. I can’t think of any easier way to do it. Having said that, I haven’t looked at the PR closely, so I don’t have a sense for how difficult it will be to adapt the globalcache binding.