Can I add a new Z-Wave device XML to the local Z-Wave device database?

if so, how?
I did read through Blog Posts and didn’t find an answer. As far as I know the database is just XML files in OH-INF/thing/ inside addons/org.openhab.binding.zwave-3.2.0.jar.
I have the XML for a new device. I need to add it to hundreds of smart-home hubs connected with and transferring the whole org.openhab.binding.zwave-2.5.12.jar is not desirable. I could transfer XML alone and use the command jar -uf /opt/openhab/addons/org.openhab.binding.zwave-3.2.0.jar -C /opt/propify/tmp OH-INF/thing/yale/yrd136_0_0.xml but unfortunately these hubs only have a Java Runtime Environment and don’t come with the jar command.

2 Likes

Did you try to just upload the modified XML file and put it into the right runtime directory ?
I don’t know if there is any index/inventory that needs to be updated as well. So I can’t tell if just uploading the XML file will work.

I haven’t tried this but some zip file utilities can add files. Jar is just a zipped file.

Also confusing to me ESH-INF is OH2. In OH3 it is OH-INF

There is no “runtime directory” in which you can put these XML files - you need to modify the XML in the addons folder.

Yes, sorry, I mean OH-INF

What about exploding the jar? Can we have openHAB use an exploded org.openhab.binding.zwave-2.5.12.jar?

Not that I’m aware of. You need to edit the JAR, or edit the database and wait for a new JAR if you have changes.

Thanks for the prompt responses @chris. I’m gonna run some experiments and report my finding here. I’d rather not have to transfer the whole binding for a simple xml file. The other option I’m considering is trying to build the jar command binary for the architecture these hubs run (ARM).

Unfortunately the XML files are an integral part of the binding so there’s limited option. So while an XML file is a “simple file” - as are many java files - they all come together to form the binding.

The system is independant of the architecture - this is Java, so you just need to build the binding, which is reasonably easy. Or just update the online database, and this will be exported and built automatically.

Yes, but if I want to transfer only the XML file and add it to the binding jar I need the jar command from the JDK, which is not included in my hubs (Rockchip PX30 processors running https://buildroot.org/).