Using a Vera Edge as a network-attached zwave device (skipping the vera software)

What is the feasibility of creating a HASS.IO add-on that could automate all of the configuration steps?

Super neat work! I assume the same could be done for Zigbee support?

I assume that there is some factory reset that I can do to my new Vera Plus if this hack doesn’t work?

Keith

Hello, I am new to HA (and home automation in general) I have got a veraplus that I found disappointing. If I understood correctly, thanks to the script I can use the veraplus just as if I had a z-wave stick to my rasberry Pi (adding devices, setting them up in HA, …), can we use the zigbee as well which would allow me to use Xiaomi mi sensors that are not supported by vera

Thanks
Nicolas

I think support for zigbee can be added the same way as zwave, just need to modify the docker image a little bit.

I tinkered with this and indeed I did this on a vera plus and managed to get my vera plus’s zigbee to show up on Home Assistant first shot. The Zigbee port on the vera is ttyS2 and its baud rate is 57600. It seems like the bellows library with the zigpy/ zha component support many more devices than the vera.

It also took some edits of the /etc/init.d folder to make the vera come back to this state after reboot.
My recommendation is to install nano and then add “exit” on the second line of the cmh-ra, lighttpd, and add 2 lines ’ /usr/sbin/ser2net -C “7676:raw:0:/dev/ttyS):115200 8DATABITS NONE 1STOPBIT” ’ (edit for your particular port and baud rate) followed by “exit 0”. Also comment out every line of /etc/crontabs/root. And voila…

Edit: forgot to mention, the vera uses a silabs Ember chip so you need to use the EZSP protocol.

2 Likes

I wrote a script to “nuke the vera” and turn a vera plus into a ser2net server for both zwave and zigbee:

1 Like

Thanks for this information, @rafale77!

I’ve been wanting to use the Zigbee chip with Home Assistant, but still use Vera for Z-Wave and all of its other functions. I was able to do some modifications based on your information, and have succeeded in doing so. Here’s what I did:

  1. Install ser2net:
    opkg install ser2net

  2. Modify /usr/bin/Start_LuaUPnP.sh:
    At about line 14, add:

mv /dev/ttyS2 /dev/ttyS3
/usr/sbin/ser2net -C "3300:raw:0:/dev/ttyS3:57600 8DATABITS NONE 1STOPBIT"
  1. Reboot

  2. On Home Assistant, run:
    /usr/bin/socat -d -d pty,link=/dev/zbvera,ignoreeof,user=homeassistant,group=tty,mode=777 TCP:192.168.20.112:3300

This does permanently display " Zigbee : Failed To Start" at the top of the Vera interface, but doesn’t seem to have any other negative impacts.

1 Like

If you only want zigbee, it seems you don’t even need to socat the HA end.

I added the EZSP Manually, and set the path to socket://IP:PORT and bam… one remote zigbee chrome_2020-05-27_14-08-41

2 Likes

This is interesting. I had no idea it go create a socket an bind directly. Thanks for this!

The zigbee docs in home assistant mentioned the WifiZiGate had to be setup like that, so I tried it with another controller and it worked.

It’s just too bad that the zha integration doesn’t allow us to change the port without deleting and recreating the integration, making a mess with all device and entity names.

Edit: Managed to do it by going into the .storage/core.config_entries file and changed the path of the integration there. I can now disable socat!

Side effect is that at reboot I get a CRC error from bellows at every restart of Home Assistant. It could be because the socket is not yet ready when the library tries to call it. Or it could be that the port change is causing something else…

I have been following the steps/scripts in this guide with good success. @rafale77’s nuke vera script worked well.

I am attempting to do vera plus --> ser2net --> wifi --> home server --> socat --> zwave2mqtt (docker).

I would like to get the z wave network key from the vera plus. I found a separate thread that indicated it was possible, but wasn’t public knowledge. Can anyone point me in the right direction (@rafale77? :D)?

Rafale is very active here:

Thanks much. Was able to find what I needed.

Blockquote
I would like to get the z wave network key from the vera plus

I was able to use Vera as a “tcp dongle” (ser2net + Perle TruePort) with Z-wave PC Controller and it shows network keys at “Security Test Schema” window. Didn’t tried the key though.

Does anybody use ser2net + socat with HA for a long time? Is it stable enough? Does it make reconnection on network fail?

I’m considering to completely move to HA from Vera (or at least eliminate Vera’s software) and for now there are two options I see.

  1. Keep Vera as a “tcp dongle” with ser2net + socat or similar approach. This approach makes me worry from the network stability standpoint.
  2. Run “Shift controller” from Vera to UZB dongle with Z-Wave PC Controller by connecting to Vera via ser2net + TruePort. But as far as I understand this will leave my dongle’s id as is and this can cause some trobbles as some z-wave devices expect the controller has to have #1 node id.

Any thoughts and advice would be appreciated.

  1. Keep Vera as a “tcp dongle” with ser2net + socat or similar approach. This approach makes me worry from the network stability standpoint.

Any reason why you are worried? Which network are you talking about? The zwave network or the IP network? In any case, I don’t see it as being possibly the main source of problems. I ran this way for quite some time but eventually did something similar to your solution 2 because of how bricking prone the vera is. The only difference is that I did a network clone (backup and restore) from the vera to a usb dongle instead of a controller shift.

Any reason why you are worried? Which network are you talking about?

I’m talking about IP network. Not sure about the way ZWave JS is communicating with dongle. But it seems that it establishes a connection at startup and expects that the connection will be persistent. So that if the connection between Vera and JS server breaks for any reason, the only way to recover is to reboot JS server. This is doable as JS has a health check URI, but still unreliable as it could happen at the inappropriate moment.

I tried to keep Vera and ZWave JS running for a while and found that JS server goes to “Driver: read ETIMEDOUT” error after a random period of time.

The only difference is that I did a network clone (backup and restore) from the vera to a usb dongle instead of a controller shift.

This is a big difference I assume. I saw your post about that somewhere on the net. Unfortunately, I’ve “luckily” bought SiLabs UZB-7 dongle which has UART chip unsupported by Vera’s kernel, and NVE backup/restore through Z Wave PC Controller also doesn’t work (btw not sure this is a bulletproof method as NVE seems to contains z-wave calibration settings).