I can provide a high level description of the approaches.
OH uses a plugin architecture to interface with other technologies. Assuming I’m reading the integration guides correctly this device provides access to the Z-Wave controller and ZigBee coordinator serial sockets over TCP. I can’t tell if it supports rfc2217 or not but if Z-Net does that too could be an option. I think it mainly changes what you put in for the Serial Port (i.e. tcp:// or rfc2217://).
Assuming TCP, there are two approaches that could be used:
1. Using the native add-ons
Install the Z-Wave add-on. Create a Z-Wave Controller Thing and use tcp://<ip address of Z-Net>:2001 as the Serial Port.
Devices already paired with the controller will be discovered and Things created and put in the inbox automatically.
New devices can be added by navigating to MainUI → Settings → Things → + → Z-Wave. This puts the controller into pairing mode. Take what ever action on the device needed to pair it with the controller. A new Thing will appear which can be accepted.
See ZWave - Bindings | openHAB for details.
Install the ZigBee binding and create a new ZigBee Ember Coordinator Thing with tcp://<ip address of Z-Net>:2002 as the Serial Port, 115200 as the baud, and flow control set to “None”.
Unlike Z-Wave, the paired devices do not live on the coordinator so you’ll need to use the same approach as outlined above to add a new Z-Wave device using the ZigBee binding instead.
See ZigBee - Bindings | openHAB for details.
A note about support for devices:
- Z-Wave: All Z-Wave devices can be supported. However, the OH binding depends on a database so if a device appears as “Unknown” (for battery devices it may require waking the device up a few times) it may need to be added to the database. Instructions are in the Z-Wave binding docs.
- ZigBee: Many vendors do not provide pure ZigBee but have ZigBee plus a bunch of proprietary crap. OH as a project pretty much cannot keep up. The ZigBee binding will support any device with the ZigBee logo. But for devices which kinds claim to use ZigBee but are not certified YMMV.
2. Using Z-Wave JS and the Z-Wave JS binding and zigbee2mqtt and the MQTT binding
You’ve already documented how to make these two external services work with Z-Net so I’ll only focus on the OH side of things.
See Z-Wave JS - Bindings | openHAB for details. I think those running openHABian have an option to install Z-Wave JS from openhabian-config. Others will need to install it manually.
Create the Z-Wave JS Bridge Thing with the network address and port and such for the Z-Wave JS web socket. All the paired devices should be automatically discovered and put into the Inbox.
Zigbee2mqtt is pretty popular because it’s better able to keep up with all the ZigBee plus proprietary crap devices out there. There seems to be two ways users integrate OH with it. Since zigbee2mqtt supports the Home Assistant MQTT Discovery standard some users use the HomeAssistant add-on (see Home Assistant - Bindings | openHAB) which, once connected to the same broker as zigbee2mqtt OH will discover all the HA advertised devices and add them to the Inbox automatically. Sometimes though the HA discovery doesn’t work optimally so some users manually configure the MQTT with the second approach. The second approach is to use the MQTT binding and Generic MQTT Things to manually configure the Things. This means manually configuring the subscription and command topics and transformations from/to JSON as appropriate.
The second approach is clearly more work overall but gives the user much more fine control.