Making non compatible zwave & zigbee work


im not sure if theres a thread already for this topic…

i would like to know the process if i have zigbee and zwave devices from china makers. and i would like to make it compatible with vera.

Please help me to know options how to do this? is it making a drivers for each decives? or i can make one time drivers for all? or one time plug in for all? then it makes all devices compatible? if i have accomplish this then ezlo updated firmware, will the compatibility be affected?

also please what information should i get from the devices manufacturers? and what information should i ask ezlo?


Can’t tell you about zigbee.

Zwave depends on if the command classis supported it not recognized. If it is, you can often modify the command class list on the advanced tab.sometimes you need to modify the json files.

If there are parameters, you can use the luup get/set commanding a scene to send commands or get statuses.i did that with the unsupported aeotec doorbell.

There are almost no supported zigbee devices on the vera so it actually takes a bit a of work to configure the unsupported zigbee devices on the vera. I actually have 0 vera supported devices and managed to make them all work. Once configured properly, they worked very well.
Two threads of interest from which you could get inspirations

As for zwave, it really should be easier and more universal. Unfortunately there has been a bit too many non ordinary devices which became popular and so the vera has gone down the path of customizing configurations too much causing many devices, even officially supported ones to fail and rendering the list completely useless. In that case too, I ran for a long time with less than half of my devices being supported and they were working just fine. I only had a few I ended having to give up on and they were all officially supported except for one.

Not sure what will happen with the new eZLO products but the bar is set so low, it can only be better.


The compatibility Im looking for is I would like to purchase set of devices from one manufacturer and pair to vera plus/ezlo plus, then install a driver to vera or a plug-in (one time only) to make those devices work?

Im not sure if thats how you make devices compatible. or do need to get like sdk or api (dont know what its called) from vera or from device manufacturer and make a plug in or driver that covers all the devices to make all functions work. develop the plugin or driver. install it to vera one time.

I hope somebody can direct me to the right direction.

It’s not how zwave/zigbee works. The compatibility does not come through a driver installation. The wireless stack already handles all of this. You would have to use non zigbee or zwave compliant device to need this and vera does not support these.
Maybe you are coming from SmartThings which has drivers being just device specific configuration and automation codes? That’s now how vera works. You have to manually configure the device on the vera if it fails to do automatically.

Hi rafale77

because there are a lot of zigbee devices that are not compatible with vera. you can pair them but cannot function well. there are a lot of nice glass switches from china mainly zigbee… dimmers, shutter, scene switches. rgbw. i would like to try to make it compatible with vera plus. the upcoming ezlo plus supports zigbee as well that is why i look into zigbee. I prefer to use elzo gateways rather than chinese gateway.

I saw in other discussion about making the RGBW Zwave from fibaro and sunricher work. they created a plug in. then adjust some parameters. that is why i though just need drivers and plug ins… not an expert :slight_smile:

You might be better off looking at other controllers such as HA or Homeseer for your needs.

I believe those plugins are to make a pretty UI. Most zwave devices will work with vera as-is, though for things like rgb bulbs the controls may be less shiny than some people want. (Do you want a color wheel or 3 sliders for red/green/blue?)

The only zwave devices I know are not vera compliant are certain multi-purpose zwave siren/doorbells that use the sound command class to control the chimes and the remotec IR blaster.

I will say there are quite a few devices that don’t have full functionality on ezlo devices (leak sensors jump to mind) but those are barely out of beta.

Vera has made it very difficult, but not impossible to support Z-Wave devices not on the officially supported list.

First, make sure that the device that you are interested in is built for the flavor of Z-Wave in your country. Then try to pair the device as a generic Z-Wave device and see how much functionality you get.

If not enough, then comes the hard part. You need to create a custom plug-in for your device. Make sure that you have a full specification of all of the command classes, device options and specific behavior of your device. This is not part of the owner’s manual, or otherwise available on-line, the Z-Wave alliance maintains a pretty good database of this information on their website.

Then you need to write a device driver in Lua. This is non trivial. There is one “SendData” call which allows sending arbitrary Z-Wave data to a device. However, not only does this require a deep knowledge of the Z-Wave serial host protocol, but also, heavy use of “SendData” can trigger a long-standing “Failed to get lock” race confusion in the Vera firmware which has not been fixed even after it was reported several years ago.! Furthermore, there is no good buit-in method to receive arbitrary data from a Z-Wave device.

That’s why, when I wrote my Scene controller plugin for Evolve LCD1, Cooper RFWC5, Nexia One-Touch, and HomeSeer switches and dimmers, I ended up writing a special Lua extension in C, compiled to MIPS machine code which I call the Z-Wave Interceptor, or Zwint. Zwint gets in between the LuaUPnP engine’s Z-Wave support library and the Z-Wave controller. It monitors all Z-Wave serial protocol traffic from both sides, parses each packet, and uses a set of filters based on regular expressions to intercept selected packets and deliver them to the plugin as HTTP messages.

The debug version of my Scene controller plugin has many examples on how to use Zwint in various ways and I encourage anyone who wants to use it to go ahead and take it.

Furthermore, you need to expose the special features of your device to the Vera GUI and this requires writing custom JavaScript code, which is similar to supporting non Z-Wave devices.

Unfortunately, Vera will soon be obsoleting all of the old custom plugins with their new Ezlo API and the currently published API does not (yet) include adequate support for custom Z-Wave devices.

SmartThings has a nice Z-Wave library which makes creating custom plugins for that platform relatively easy, but I’m fundamentally opposed to their approach that puts all functional logic for your home device automation in a cloud server.

I also looked at HomeSeer and their controllers have no good support for custom Z-Wave plugins either.


1 Like

If the command class is in the controller, the UI may be a nuisance but the commands are public and custom commands are supposed to be in the device manual.

I have an aeotec doorbell and used Lua on UI5/7 to send the Zwave commands to specify the mp3(s) to play and the volume with the Get/Set functions.

On Homeseer there is a zwave command option in the event system that makes it easy to set parameters and change certain values. (Getting custom parameters is harder) Virtual device tools make it easy to add a UI widget.

And homeseer considers Zwave to be a plugin. So you can make a whole new zwave stack if you want.

It’s important for Vera users to remember that HS is Primarily a HA system not dedicated to any particular system,which is very different to Vera which is primarily a Z-Wave Controller which is not dedicated to any other system.

As kigmatzomat pointed out, Z-Wave is one of many Plug In’s available. In fact it’s hard to find a system that doesn’t have a corresponding Plug In in the HS ecosystem.