Customising Z-Wave Device Channels

I’m new to openHAB but have a lot of experience with home automation and almost 40 years in software engineering, so I’m hoping to contribute once I get a better understanding. I’m currently migrating my Zipato setup to OpenHAB 3 but have run into some issues with Z-Wave devices that aren’t fully supported, which are critical to my setup. I have Danfoss Z-Wave RS thermostats in every room and currently use the press button to switch the lights on/off. After including one on OpenHAB, I was surprised to see no channel for the button. It appears some questions were raised about this about 8 years ago where button presses produced errors in the log, but I couldn’t find any details of fixes or workarounds. Would appreciate any pointers on this. The second issue is with a custom Z-Uno device I have. A few years ago, I reverse engineered the Honeywell LESST interface, which is a serial interface onto the old Honeywell SmartFit heating controllers so I could control my heating via Z-Wave. From old conversations here, it was impossible at the time to provide a standard channel mapping for the Z-Uno as every one was configured differently, and at the time people had to hack the device database to get them to work. Since then, the device has moved on and now supports a mechanism for producing a unique product type/id based on the channel configuration, which people could add to the Z-Wave device database. I have no idea where to start here, can anyone give me pointers on this? Once I have worked out exactly how to do it, I can document it for other users.