There are a number of approaches but in general there are two over all approaches:
-
Somehow give one openHAB instance access to all the devices in both locations.
-
Run two openHAB instances and federate the two using Marketplace MQTT Event Bus.
In both cases you need to provide some way for the two locations to reach each other over the Internet. My recommendation would be using a VPN. I assume that is what you already are doing a “VNCed” is a typo.
The first approach works best for cloud services. If you have local only control devices like Zwave or Zigbee, you can use something like Share Z-wave dongle over IP (USB over IP using ser2net / socat ) guide to make the USB device on the remote machine appear like it’s plugged into the local machine. Some people have had great luck with this approach, others have problems.
The second approach has you install an MQTT broker. Then you will have a copy of all the Items defined on your remote openHAB on your “main” openHAB instance. Then with the event bus and update and/or command on the duplicated Item gets sent to the remote OH’s version of that Item and also the other direction.