For all systems backup is a vital part of the long-term usability.
I thought that I describe my set up with Z-way so far. Hopefully others can fill in with their backup thoughts as well. I am sure that there are much more streamlined ways of doing this and hope to learn from you all.
I run Z-way on a Raspberry Pi 3B+ with a daughter RaZberry card. In order to reduce the risk of getting corrupt SD cards I have it running off an SSD. So far this works very well. Setting it up was really easy just reading a standard Raspbian image onto the SSD. The only minor obstacle was that I had to test a few old 2.5" enclosures to find one that the Pi liked.
The Pi is then also powered via an UPS, hopefully this will avoid problems in the event of power outages.
In order to backup Z-way I have so far done manual backups from the regular Smarthome backup & restore function creating .zab files and from the Expert UI creating .zbk files. As far as I have understood the .zab files which are bigger contain more information than the .zbk files. The strategy so far has been to make backup files after each inclusion/exclusion. Also before updating Z-way. I have yet to test restoring from these files.
From Smarthome it is also possible to set up cloud backup. I have not yet set up this as I need to decide that it is safe enough to do so. On the other hand I had this set up on my two Veras.
It would have been nice to be able to schedule a local backup of Z-way instead of having to put them in the cloud, perhaps from OpenLuup via the Z-way bridge?
In addition to the built in backup function I try to do complete image copies of the SD cards on my Pi's with Win32DiskImager. When I moved to an SSD the image file grew to the size of the SSD since it is a raw copy including all the empty space. Image files of 160GB are not practical to handle so I found a good instruction on how to shrink the .img file with Gparted in Linux: https://steemit.com/raspberrypi/@wizzle/shrink-raspberry-pi-images-using-windows-virtualbox-running-raspberry-pi-desktop
By shrinking the .img file with Gparted it is now a more reasonable 4GB. These file are stored on my NAS for safekeeping. The strategy here so far is to make a new image file before updating Z-way and to use these in combination with more frequent Z-way backups.
I have tested restoring a Gparted shrinked .img file to the SSD when my Z-way for some strange reason became unreachable through the regular UI but remained reachable through the Expert UI. Always good to test the restore function and to see that it works. 🙂
The downside of the .img strategy is that I need to power-off the Pi for a while when making the backup. However if the Z-way backup files work then the complete .img backup need not be done so very often.
Probably @rafale77 will jump on this question first 😉
I'm using the new model of GE/Jasco switch (they replaced the dead one I got) and the new model is having also S2 security and send instant status update BUT,
And probably @rafale77 will say yes, is it possible that interference can do that I'm missing some instant update status ?
Often, I'm having the wrong status in the zwave.me web interface...and even clicking the icon, the status didn't changed to right one.
I also try to do some "On/Off" using the web interface, and the device itself physically, toggle without a problem, but the web interface is still no correct.
I'm trying to monitor the indicator command class of a 5 button scene controller in Z-Way so openluup can properly create and track it.
seems like Z-Way COMMAND_CLASS_INDICATOR (0x87 or 135) are not being monitored by the ZWave module as I couldn't find anything for this command class in (/z-way-server-path/automation/modules/ZWave/index.js)
When a Get or Set Indicator command class request is sent to the controller. ZSniffer picks up the request and response just fine although this packets are not being monitored by the zwave moduleZWayIP:8083/ZWaveAPI/Run/SendData(NodeID,[ Command_Class, Instance, Value ]) ZWayIP:8083/ZWaveAPI/Run/SendData(2,[ 0x87, 0x01, 0x01 ]) (Hexa) ZWayIP:8083/ZWaveAPI/Run/SendData(2,[ 135, 1, 1 ]) (Decimal)
the answer looks like:[2020-04-24 19:59:36.261] [I] [zway] Waiting for job reply: Indicator Get [2020-04-24 19:59:36.281] [D] [zway] RECEIVED: ( 01 0B 00 04 00 02 03 87 03 01 B6 00 C2 ) [2020-04-24 19:59:36.281] [D] [zway] SENT ACK
I’d like to store the Indicator response “RECEIVED” correctly. I believe by modifying the index.js of the zwave module could do the trick and once the module start tracking the indicator command class values as a metric then openluup's z-way plugin would properly track any changes as well.
I'm wondering if anyone around here could share any thoughts or comments that could make it easier...
Posting here, as the z-wave.me forum seems desolated..
I have two multisensor 6 sensors, and one of them is not sending motion sensor updates?
Looking at the configuration, they are both registered as battery sensors for som reason, even if they are USB powered. They respond quickly to parameter changes, except for parameter 100 and 110, that will not update.
Any clues? How do i convince the controller that they are USB powered?
First Post . . .
Good to "see" y'all here!
Last week, I purchased the Z-Wave.me UZB1 dongle and also purchased the Z-Way license.
Knowing in advance that the combination (Windows 10 and the Z-Way server) was lacking, I wanted to install anyway on a Windows 10 machine, and include a few spare z-wave devices to see how things worked. Pretty well, for the most part.
@rafale77 had written that the UZB stick works well in the RPi compared to the RaZberry card (which I also purchased but is still in it's packaging), I would like to plug this UZB1 into my Pi running openLuup/ALTUI (then hopefully installing the Z-Way plugin)
I'm not confident enough yet to plug the UZB into my Vera3 (UI5) and transfer my existing z-wave devices to the stick.
Without creating a new Buster image downloaded from Z-Way, could I possibly . . .Plug the UZB1 into the Buster Pi3 From the terminal, run, wget -q -O - razberry.z-wave.me/install | sudo bash
then, if I can reach the :8083 port (as quoted by PoltoS) "go to Settings -> Apps -> Active -> ZWave and change /dev/ttyAMA0 to /dev/ttyACM0"
and expect that my UZB1 will now run on the Pi ?
If it is mostly that simple, would my license transfer?
Should I exclude the (3) z-wave devices I had running on the Windows 10 Z-Way server first?
If I'm oversimplifying, tell me to "shut up" and read some more! 😕
I seems to still have some issues in the z-wave controller..
The route map won't show, only throws an error message:
This Link status map is way too grey:
The neighbour map looks OK, most have 2 or more neighbours:
All units except for one seems to work as usual though, and thats the garage door sensor.. No errors reported, but no reaction either..
And the fibaros all complain with system and heat errors, which i know is unfounded.,
Any suggestions on where to look? I started a full reorganization of the mesh now, not sure what it does, but it seemed like a good thing to do..
The expertUI of Z-way has a very interesting menu called analytics which I have not seen on any other controller.
My engineering curiosity and OCD tendency to want to optimize everything lead me to dig into it to see if I could get things working even better... even though nothing seem to be broken since my move from the UI firmware to z-way. So the background noise menu was of particular interest.
So here it is: This was my first shot of the starting block on the left side of this graph and you can see that at around 21:00 I did something to reduce the noise. My zwave.me uzb is connected to the vera through a usb extension cable and a usb hub but initially the vera and usb hub were sitting only a 6-7 inches (20cm) away from the uzb. Keep in mind the scale on both channels. What I did was to move the vera away from the uzb stick, to about 80cm but the big step was for me to use some metal leftover amazon gift card boxes I had from christmas and covered the usb hub with them. The step back up was me moving these macgyver shields around.
Next step is still goofing around with the shields to see if I could optimize further and while I initially made it worse, you can see that it got a little better later on. That USB hub is quite noisy.
After sometime, I just thought that the whole thing is just too sensitive any movement around that area could potentially cause problems. So I decided to remove the hub connected to the vera which really was just allowing to extroot the vera. Since I am no longer using the vera as a vera but only as a remote serial bridge, which doesn't write anything on its drive, I took it out. Again look closely at the scales. It did take the noise down another notch.
Now the stick is still sitting 14inch away from a UPS with a bunch of wall warts connected to it, powering a variety of devices like a hue 2 hub. I had the idea of replacing just the wall wart (AC-DC power supply) for the vera with a POE splitter. Since channel 2 is already hovering around the detection limit, I am only showing channel 1 here
This last step alone enable me to flip this other statistics menu:
It not only significantly decreased the CRC error rate but also made the foreign network impact greater that the CRC error bar negating the success on reception for the first time. When I took a zniffer to look into what these CRC error frames were, I discovered that they were all from my neighbor's network which is distant and have obviously poor signal strength. (Yes I can see his HomeId from the zniffer). The fact that I see less error means that my controller's range is greater. It is now able to recognize frames which are from my neighbor's instead of saying they are corrupted... Also The back off frames number decreased indicating less wasted/repeated frames on the network.
After seeing some people struggling with their installations on ubuntu 64bit, I figured I would post an installation tutorial:
First start by making sure you have all the dependencies loaded and packages up to date.sudo apt-get -y update && sudo apt-get upgrade sudo apt-get -qy install libxml2 libarchive-dev curl sudo apt-get -qy install sharutils tzdata gawk sudo apt-get -qy install libavahi-compat-libdnssd-dev sudo ln -s /usr/lib/x86_64-linux-gnu/libarchive.so.13 /usr/lib/x86_64-linux-gnu/libarchive.so.12
Then download and install z-way-server (current latest version is 3.0.6) and install it in the /opt folderwget http://razberry.z-wave.me/z-way-server/z-way-server-Ubuntu-v3.0.6.tgz sudo tar -zxf z-way-server-Ubuntu-v3.0.6.tgz -C /opt/
Then follow the auto start process here:
For ubuntu 18 and later, there is currently an issue with z-way-server not supporting the newest libcurl4 causing apps download failures so the following additional steps are needed:
Force downgrade to libcurl3 and save a copy of it and then upgrade back to libcurl4sudo apt-get -y install libcurl3 sudo cp /usr/lib/x86_64-linux-gnu/libcurl.so.4 /usr/lib/x86_64-linux-gnu/libcurl3.so.4.5.0 sudo apt-get -y install libcurl4 libcurl4-openssl-dev
stop the z-way-server if it is already running:sudo systemctl stop z-way-server
edit the systemd service filesudo nano /etc/systemd/system/z-way-server.service
And add the following text at the end of the Environment line after adding a space to separate from the previous quote:'LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libcurl220.127.116.11'
Hit ctrl-o and ctrl-x to exit nano
and now start the server again after updating systemd:sudo systemctl daemon-reload sudo systemctl start z-way-server
I did all of this a while ago and had forgotten about it. Thanks to @sender, I remember now... 🙂
I don't frankly recommend using the rPi in spite of being the "default platform" as I find it a bit slower. That being said, Raspbian buster has the same problem as ubuntu 18+ but apparently the apt repo for raspbian doesn't have the older libcurl. zwave.me has provided a full raspbian buster image with the old libcurl library. My test rPi was upgraded from a raspbian stretch installation and does not appear to have this problem.
After a major hassle got z-way running on my ubuntu 16 VM with a USB pasthough UZB1 stick including license and connected to Vera...
I see:UZB/RaZberry Firmwares 005b8e52-251d-4fed-b3f9-13a7d579940d-image.png
I also see:
But how do I update that?
Hey guys ... I've started creating a Docker container for Z-Way.
I was previously using the Razberry2 but found it a bit slow on my Raspberry Pi 3. I could upgrade to a Raspberry Pi 4 but since I already run a dedicated Linux server and many Docker containers I thought it might make more sense to run Z-Way on there.
This container is based on other containers that are no longer updated: (ruimarinho/docker-z-way) and (EugenMayer/docker-image-zway)
I'd love to hear feedback and any improvements that might be needed.
One thing I want to add immediately is to separate the configuration files from the Docker volume but it looks like Z-Way has several user configuration files/directories?$ZWAY_DIR/config/Configuration.xml $ZWAY_DIR/config/Rules.xml $ZWAY_DIR/config/maps $ZWAY_DIR/config/zddx $ZWAY_DIR/automation/user_syscommands $ZWAY_DIR/automation/storage $ZWAY_DIR/automation/userModules $ZWAY_DIR/htdocs/smarthome/user $ZWAY_DIR/config.xml
Just updated my production UZB to the latest firmware. It was very painful through the ZME upgrade tool as I had to go through least 40 tries but I got it on. It was less painful on my test razberry which only required a handful of retries. Looking at the upgrade process... the uzb seems unbrickable with the firmware being loaded on the nVME on the stick before performing the upgrade on its own, I am impressed, it is much more robust than the silabs reference design stick.
It brings the firmware to silabs very latest SDK version which had a bunch of minor fixes. Happy to report that minor quirks I had observed upon server rebooting appear to have been fixed.
Recently picked up a 5 socket zooz powerstrip to use to test with. Tried adding to my Razberry setup and while I can get it to be seen, the only thing showing in the Z-Wave app are the master switch, and two power monitors (KWh and W). None of the individual sockets are showing up. Anyone have any experience with power strips?
Before transitioning to Z-way completely, I was using it as a zwave tool for my vera controlled network.
To do this, I added z-way as a secondary controller to the vera:Put the vera in inclusion mode by making it include a generic device. Go to the ExpertUI of z-way after you setup the zwave plugin on it to the right serial port and under the Network/Control menu click on “Join Network”
That’s it... It will take a few seconds but and the vera will sluggishly luup reload and show a new controller device which will say that it needs to configure. Disable auto configuration for this device on the vera. Your z-way now should see all the devices on your network. You can even set SUC/SIS roles from it and do all kinds of things the vera cannot, or at least not easily.
Examples of what I did: Look at routing, assign lifeline associations, survey and modify wakeup intervals. Check on device command classes hidden on vera. Verify routing health.
Be careful with associations as by default z-way will want to add itself to the lifeline associations when you try to check them. I often had to delete z-way. There is a way to prevent that but requires editing some files and is probably not worth doing since you can just modify associations directly from z-way.
Z-way several questions
So I installed z-way and I have a bunch of questions. I also sent an email to firstname.lastname@example.org but might receive an answer here quicker
I have ordered a UZB1 via amazon including license. It is not yet connected to my z-way server. When I want to go to settings I get below, is this normal? Installing the remote app does not solve this.
- Can’t help with that one as I don’t use this. Hopefully you will get an answer through emails.
- Remote access only works on the rPi as it relies on little program not available for other distros. It is completely unimportant unless you want their support team to dial into your z-way-server instance.
- You don’t need to worry about time. It is already controlled by the ubuntu OS. This is a leftover from “embedded image installations” like on a pi. You can ignore this.
These all 3 are stressing my OCD.
So for question 1. What's left is: How can I get Z-way zwave devices integrated in home assistant?
I now have a few options for z-wave on home assistant and all 4 have their downsides... as far as I have seen z-way it must be the most promising one but for the fact I have never seen it in action
These are my z-wave options now.
- zwave2mqtt but this is old... (see: https://github.com/hassio-addons/addon-zwave2mqtt/issues/54 and https://community.home-assistant.io/t/home-assistant-community-add-on-z-wave-to-mqtt/115899/148?
- QT-zwave2mqtt - but this is more vague than all 3 above but also seems promising as I read is is the succesor of zwave2mqtt and both ahve openzwave 1.6 (see https://community.home-assistant.io/t/choosing-a-bridge-openzwave-qt-openzwave-vs-openzwave-zwave2mqtt/179002/1)
Thus... questions, options, questions...
My personal opinion:
Only z-way and QT-zwave would be of consideration. QT is still major WIP. Looks promising but who knows...
Z-way is pretty mature on the other hand and is with HomeSeer the only choice at the moment.
As for the plugin installation problem, makes sure you installed openSSH. Have you tried installing any other plugin?
There was a problem with the curl version initially which may or may not have been resolved. ubuntu 18 introduced curl4 which z-way was not supporting. You may need to force install curl3. I don't seem to be having this problem but I upgraded from ubuntu 16. Try making sure that openssl is installed first and see if it works.
So received an answer from z-way:
It seems the "ubuntu" and thus UZB (dongle) way is not the preferred one reading the answers. Sergei is pointing me toward a PI solution but I do not really prefer that.
Below his answers and my response.
Me:MQTT. I cant get MQTT to work. I need integration for homeassistant. What can I do?
Z-way: This looks like libcurl problem on your Ubuntu. What is your system?
Me: 2. Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-99-generic x86_64) as a virtual machine in ESX.
I prefer running in VM for several reasons, portability, ability to consistantly backup (entire machines) and to avoid “additional” hardware and network issues.
Me: How to auto start?
Z-way: You can add in /etc/rc.local: (cd <YOURFOLDER>; LD_LIBRARY_PATH=./libs ./z-way-server)
This is dirty, but works. We plan to make a clean debian package soon.
Me: I followed: https://smarthome.community/topic/108/auto-start-z-way-server works now.
Me: 4. I have ordered a UZB1 via amazon including license. It is not yet connected to my z-way server. When I want to go to settings I get a message ERROR - Remote Access is not ebabled. Is this normal? Installing the remote app does not solve this.
Z-way: Remote access is not working on Ubuntu. We think to change this in next releases too.
Me: I think I don’t need RA. Can I disable the error message?
Me: Setting the time zone in the standard interface says it is save but it is not. What is wrong there?
Z-way: Same - this can be done on Ubuntu using standard UI, so it is not working via Z-Way. This feature is also for Raspberry Pi.
Me: I have changed the time on the ubuntu server to correct time-zone, this solves the wrong time displaying in Z-way.
What is left now as a real problem for me is "A"... I do not really understand what Sergei is meaning with "libcurl" problem and have asked him. But maybe someone on this forum is able to help out?
For A, did you try what I suggested on my previous post? It is an operating system compatibility problem and has nothing to do with what machine you are running. Libcurl is a standard linux library which got updated to v4 on most distributions. You would have the same problem on the rPi if you try installing in raspbian buster... lots of people reported it. You can try downgrading libcurl on your installation.
rafale, yes tried, but I had no success. maybe I did something wrong. i was not able to install curl3... (see other post on fourm)
root@z-way-server:~# # install libcurl3 root@z-way-server:~# # this will temporarely overwrite/remove libcurl4 root@z-way-server:~# apt-get -y install libcurl3 cp /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0 /usr/lib/x86_64-linux-gnu/libcurl3.so.4.5.0 # reinstall libcurl4 - libcurl3 will be overwritten but copied file will be still there apt-get -y install libcurl4 libcurl4-openssl-dev Reading package lists... Done Building dependency tree Reading state information... Done libcurl3 is already the newest version (7.58.0-2ubuntu2). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. root@z-way-server:~# root@z-way-server:~# # Making a copy of libcurl.so.4.5.0 and rename it to libcurl3.so.4.5.0 root@z-way-server:~# cp /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0 /usr/lib/x86_64-linux-gnu/libcurl3.so.4.5.0 root@z-way-server:~# root@z-way-server:~# # reinstall libcurl4 - libcurl3 will be overwritten but copied file will be still there root@z-way-server:~# apt-get -y install libcurl4 libcurl4-openssl-dev Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libssl-dev pkg-config zlib1g-dev The following packages will be REMOVED: libcurl3 The following NEW packages will be installed: libcurl4 libcurl4-openssl-dev 0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. Need to get 509 kB of archives. After this operation, 1397 kB of additional disk space will be used. Get:1 http://nl.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcurl4 amd64 7.58.0-2ubuntu3.8 [214 kB] Get:2 http://nl.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcurl4-openssl-dev amd64 7.58.0-2ubuntu3.8 [294 kB] Fetched 509 kB in 0s (1097 kB/s) (Reading database ... 68576 files and directories currently installed.) Removing libcurl3:amd64 (7.58.0-2ubuntu2) ... Selecting previously unselected package libcurl4:amd64. (Reading database ... 68569 files and directories currently installed.) Preparing to unpack .../libcurl4_7.58.0-2ubuntu3.8_amd64.deb ... Unpacking libcurl4:amd64 (7.58.0-2ubuntu3.8) ... Selecting previously unselected package libcurl4-openssl-dev:amd64. Preparing to unpack .../libcurl4-openssl-dev_7.58.0-2ubuntu3.8_amd64.deb ... Unpacking libcurl4-openssl-dev:amd64 (7.58.0-2ubuntu3.8) ... Setting up libcurl4:amd64 (7.58.0-2ubuntu3.8) ... Setting up libcurl4-openssl-dev:amd64 (7.58.0-2ubuntu3.8) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for libc-bin (2.27-3ubuntu1) ...
rafale77 last edited by rafale77
This is the process for ubuntu 18+ on a x86 machine:
sudo systemctl stop z-way-server sudo apt-get -y install libcurl3 sudo cp /usr/lib/x86_64-linux-gnu/libcurl.so.4 /usr/lib/x86_64-linux-gnu/libcurl.so.3 sudo apt-get -y install libcurl4 libcurl4-openssl-dev sudo systemctl start z-way-server