I have looked at this a couple of times, as I have a large Insteon installation. It is quite a daunting proposition. The original InsteonPLM binding is a bit of a kludge (which the original author freely admits), and it doesn’t support a number of new devices (like motion sensor 2, siren module etc.). Also open/close sensors do not work well (triggers can get missed).
I finally decided to move to ISY (944i) for my Insteon interface. This works extremely well, is very fast, and is actively supported.
The problem now is how to interface ISY to OH2? There is an ISY binding for OH2 out there, for V2.3, not “official”, and not updated in 2 years. Might be worth looking at, needs some work, but less than the InsteonPLM binding.
What I did finally was to take the python interface to ISY (under active development), and interface it to MQTT (quite easily done in python). Now my Insteon devices are linked to mqtt2 items in OH2, and all my config/administration is done on the ISY. This is a much better solution than the direct interface via the InsteonPLM, I should have done this years ago.
This solves the following problems
- You can’t configure the Insteon devices from the insteonPLM binding, you still need some other way of doing that (I was using homelinc, but that has long been abandoned by Smarthome).
- Gives you an independent way to check/control/test/add/delete/link your Insteon devices (while OH is running).
- Can trigger scenes, including keypadlinc buttons, and setting button light state.
- Insteon device states are preserved if OH2 is restarted, as they are read from the ISY, which is on 24/7.
- No serial/USB interface required, works over the network, so no wired connection to your OH2 device.
- Because it’s python/MQTT it’s really easy to add/fix/change things. No arcane Java knowledge or massive development environments needed.
- PLM can be backed up or restored independently.
- Also supports Zwave if you get the Zwave version.
Drawback is that you have to buy an ISY 944i, and a new PLM.
So I think that you should take a look at the ISY v2.3 binding https://github.com/HentschelT/openhab2-addons/tree/master/addons/binding/org.openhab.binding.isy
And see if is worth porting the insteonPLM binding, or updating the ISY binding.