Editing org.openhab.binding.zwave.jar?

I edited one of the XML files inside

/var/lib/openhab2/tmp/mvn/org/openhab/binding/org.openhab.binding.zwave/2.4.0.M4/org.openhab.binding.zwave-2.4.0.M4.jar

but my device still shows up with the name that was in the XML before. I have a Z-Uno and it shows up as “Z-Wave Node 016: Haseman FGR-316-DIN DIN Rail 6x2kW Universal Switch / 4xInputs”, so I edited the XML file for that device (ESH-INF/thing/zwaveme/fgr316_0_0.xml). I used emacs to edit the jar, and there is no longer any mention of “Haseman” in the XML file, but my device still shows up in the inbox as the Haseman FGR-316. I have deleted the node from the inbox and rebooted the system, but it still shows up the same way.

Where is openhab getting the device definition and name from if it is no longer in the org.openhab.binding.zwave-2.4.0.M4.jar?

If I understand correctly, the Z-Uno can’t simply be added to the official database, since its functionality will vary depending on the current sketch…

Running snapshot version, I think, on an ordinary x86 PC with Ubuntu server.
openjdk version “1.8.0_181”
OpenJDK Runtime Environment (Zulu 8.31.0.1-linux64) (build 1.8.0_181-b02)

Try uninstalling the binding, then copying the jar to /addons/. If you don’t have any other binding depending on it, you will also need to install the serial transport feature. In Karaf…

feature:install openhab-transport-serial

Thanks, @5iver!

I will try this later when I get home. I’m just uninstalling and installing almost the exact same zwave binding, right? Could you explain a bit more about why I need to install the serial transport feature, and what the relationship between serial transport feature and the zwave binding?

When you install bindings by putting them in the addons directory (assuming that’s what you’re doing), the framework does not automatically install dependencies as it does when installing through Paper UI or services/addons.cfg.

The zwave binding uses the serial transport feature to communicate with the zwave controller through the serial port.

Wow. It almost worked! The Z-Uno now showed up with the name I gave it! But adding it yields a “409 Conflict” error. I’m guessing my edit of the jar was not correct…

Log says:

2018-11-15 20:41:21.220 [ERROR] [home.core.thing.binding.ThingFactory] - Thing factory (class org.openhab.binding.zwave.internal.ZWaveHandlerFactory) returned null on create thing when it reports to support the thing type (zwave:zwaveme_fgr316_00_000).
2018-11-15 20:41:21.222 [WARN ] [g.discovery.internal.PersistentInbox] - Cannot create thing. No binding found that supports creating a thing of type zwave:zwaveme_fgr316_00_000.

Hmmmm. This string was in the old fgr316_0_0.xml, but not in my modified version. Has it stored the thing somewhere maybe? Hmmm

Edit: Dang! Looks like it worked. I put back the

<thing-type id="zwaveme_fgr316_00_000" listed="false">

in the xml file, and now I was able to add it :slight_smile:

fgr316_0_0.xml (1.8 KB)