Linear NGDZ00-4 Garage Door

I believe the new zwave group/listing is really just the zwave object in HA and shows its status. These were added with changes in 0.41. There should also be the switch, sensor or underlying widget that you really want to work with. I also did the update, and if I look at states tab under developer tools ( <> ), I see a lot of new zwave entries, including:

zwave.stairwell_motion_4	

I also see binary_sensor.stairwell_motion_sensor_4_0 and a range of sensor.stairwell… entries

It is the binary_sensor entry that I use in my automations. I expect you have something similar showing up, but this will change for each type of device.

I just updated the CommandClasses.cpp file to match the changes in the link provided. It was basically just renaming all instances of MultiInstantAssociation to MultiChannelAssociation in the CommandClasses.cpp file.

I just fought with getting this controller to work for a couple of hours, but was successful in the end.

For those of you who can get the controller working in OZWCP, but not in HA, be sure that OZWCP and python-openzwave are using the same options.xml. I did this by creating a symlink for both packages linked to a common config folder. I suspect this is due to the network key required for secure inclusion, so it is possible that simply setting the same key in both options.xml will work.

TLDR; Check the encryption key / config matches between OZWCP and python-openzwave.

I fought with this for awhile a month or so ago, but I was on AIO so I gave up. Moved over to Hassbian yesterday pretty seamlessly, and still have not had any luck with this. I used the install openzwave script in this thread, removed the Linear from SmartThings, factory reset it, and then did a secure add via OZWCP. I get the sensors but no cover (cover z wave component enabled in HASS). Tried removing node and readding securely a few more times with no luck. Security key and options files were all in the correct folders. Ultimately ended up with the device back on SmartThings talking via MQTT.

Are there any updates on the barrier component working with a true Open Z Wave build? Would be much more comfortable with it being more officially supported anyways vs me patching it.

This is due to the open z-wave library not being updated yet. Once updated the device(s) will work as intended. HA supports them officially, just waiting on the open z-wave devs.

According to their posts on github they’ll be releasing an updated library shortly that will have the Secure Barrier Access support needed for these types of devices.

is this script still relevant with the latest Hassbian images? I think they re-did some of the scripts in the newer versions.

Anyone can confirm this works in HA 0.45.1 as it is using PyPi python based openzawe and not c++ OPENZAWE?

Mine still works after upgrading to 0.45.1

Nice, thanks for the reply.
I should have asked clearly earlier that anyone who can confirm that it was NOT working earlier and now started working in 0.45.1 without patching openzwave and compiling openzwave?

Unless I did something wrong, I’m still not seeing my garage door in HASS after I upgraded to 0.45.0.

This post indicates it’s not working.

I just gave it a shot and it didnt work.

Removed Linear Garage Door Opener from Smart Things
Factory reset device
Secure add via OZWCPL
Copy config to HASS folder
Add z wave cover platform to config
Restart

Just had the sensors and z wave node present. No Cover device.

Moving it back to Smart Things now.

This is my last device I need to migrate too. Not interesting in hacking together config files every time I upgrade so Ill just leave it for now until its confirmed to work in stable/stock versions.

Thanks all for confirming this. So I will leave mine to Wink hub 2 for now until HA supports it. I was hoping that latest HA update will do the magic. As @gregg098 mentioned, for me also this is last zwave device I have on Wink and getting tired of Wink issues so wanted to bring to aeon zstick.

After I refreshed the UI my ZWave cover control for the door is gone. :unamused:

Need a little help here. I got mine to work in OZWCP, I can open and close and sensor is working correctly, but after adding zwave and cover in configuration.yaml, I don’t get any cover control. No matter what I do, it just won’t show up in HA. Is there any changes I need to make in HA? I’m running the latest version 0.46.1.
Thanks

You probably saw this already but just in case. HASS uses its own OpenZwave files now from PyPi. It might be that your install is using those files and OZWCP is looking at your patched version. Do you have a “config_path” under your zwave entry inside of configuration.yaml? Make sure its pointing to the patched configuration directory.

On a side note, are you using Hassbian? I have been unsuccessful in trying to patch it to work with the Linear garage door opener (although I admit I haven’t tried very hard and just let it run on SmartThings). If you’re on Hassbian can you share your steps for this? Instructions in this thread and others are very old.

Thanks.

thanks for your reply. I do have a config_path in my configuration.yaml which is pointing to “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/libopenzwave-0.3.3-py3.4-linux-armv7l.egg/config” and that’s where my patched version is installed. After reading this thread, my understanding is that as long as I have it working under OZWCP, all I have to do is add proper settings in configuration.yaml for zwave and cover and the control should show up in HA. I don’t know what I’ve overlooked.

Sorry to say, I’m not using hassbian, I’ve tried, but with hassbian, I ended up with other issues when trying to compile python-openzwave/OZWCP, so I am running Jessie and AIO, this way, I could at least patch and compile python-openzwave/OZWCP.

I’m still curious in how you did this. Maybe I can figure it out on Hassbian. Just reluctant to try the steps in the really old threads in case the branches they reference are too out of date.

Thanks.

I was able to get this working again with the following modifications to the script:

#!/bin/bash

echo
echo "Open Z-Wave Installer for Hassbian"
echo "Modified by Landrash for use with Hassbian."
echo "Remodified by unt1tled for use with Linear NGDZ00-4  (barrier_operator)."
echo "Copyright(c) 2016 Dale Higgs <https://gitter.im/dale3h>"
echo

if [ "$(id -u)" != "0" ]; then
echo "This script must be run with sudo. Use \"sudo ${0} ${*}\"" 1>&2
exit 1
fi

echo "Running apt-get preparation"
apt-get update
apt-get upgrade -y
apt-get install -y make python3-dev libudev-dev python3-sphinx python3-setuptools libgnutlsxx28 libgnutls28-dev libssl-dev

echo "Changing to homeassistant user"
sudo -u homeassistant -H /bin/bash <<EOF

echo "Activating virtualenv"
source /srv/homeassistant/homeassistant_venv/bin/activate

echo "Installing latest version of cython"
### Currently locked to this version since build fails for later versions.
pip3 install --upgrade cython==0.24.1

echo "Creating source directory"
mkdir -p /srv/homeassistant/src
chown -R homeassistant:homeassistant /srv/homeassistant/src

echo "Cloning python-openzwave"
cd /srv/homeassistant/src
git clone  https://github.com/OpenZWave/python-openzwave.git
chown homeassistant:homeassistant python-openzwave
cd python-openzwave

echo "Cloning openzwave"
git checkout python3
rm -rf openzwave
git clone git://github.com/OpenZWave/open-zwave.git openzwave
cd openzwave

echo "Changing to openzwave Dev branch to add barrier_operator support"
git checkout Dev
cd ..

echo "Building python-openzwave with barrier_operator support\nStage 1..."
make build
make install

# Remove the 1.4 non-dev branched compile and replace with the 1.5 dev branch compiled version
rm -Rf openzwave-git/open-zwave-master/
cp -R openzwave/ openzwave-git/
mv openzwave-git/openzwave/ openzwave-git/open-zwave-master/
echo "Building stage 2..."
make install

echo "Deactivating virtualenv"
deactivate
EOF

echo "Creating libmicrohttpd directory"
cd /srv/homeassistant/src
mkdir libmicrohttpd
chown homeassistant:homeassistant libmicrohttpd
cd /srv/homeassistant/src/libmicrohttpd

echo "Downloading libmicrohttpd-0.9.19"
wget ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.19.tar.gz
chown homeassistant:homeassistant libmicrohttpd-0.9.19.tar.gz
tar zxvf libmicrohttpd-0.9.19.tar.gz
chown homeassistant:homeassistant libmicrohttpd-0.9.19

echo "Building libmicrohttpd-0.9.19"
cd libmicrohttpd-0.9.19
./configure
make
make install

echo "Cloning open-zwave-control-panel"
cd /srv/homeassistant/src
git clone https://github.com/OpenZWave/open-zwave-control-panel.git
chown -R homeassistant:homeassistant open-zwave-control-panel
cd open-zwave-control-panel

echo "Replacing open-zwave-control-panel source files with barrier_operator support"
#wget -O zwavelib.cpp https://raw.githubusercontent.com/legrego/open-zwave-control-panel/0925251a566a36543e0c6b5cb0b2c1498bddfa68/zwavelib.cpp


echo "Building open-zwave-control-panel"
rm Makefile
wget https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/Makefile
chown homeassistant:homeassistant Makefile
make

echo "Linking ozwcp config directory"
ln -sd /srv/homeassistant/lib/python3.*/site-packages/libopenzwave-0.*-linux*.egg/config
chown -R homeassistant:homeassistant /srv/homeassistant/src

echo "Linking Home Assistant OpenZWave config directory"
cd /home/homeassistant/.homeassistant
sudo -u homeassistant ln -sd /srv/homeassistant/lib/python3.*/site-packages/libopenzwave-*-linux*.egg/config
chown -R homeassistant:homeassistant /home/homeassistant/.homeassistant

echo
echo "Installation done!"
echo
echo "If you have issues with this script, please contact @Landrash on gitter.im"
echo "Original script by @dale3h on gitter.im"
echo
```

Modifications to __init__.py need to be done in /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/zwave

I made mine like this:
```
#REQUIREMENTS = ['pydispatcher==2.0.5', 'python_openzwave==0.4.0.31']
REQUIREMENTS = ['pydispatcher==2.0.5']
```

Make sure to clear `/home/homeassistant/.homeassistant/deps/` or just nuke the python_openzwave in there, either works.
1 Like

Thanks. Going to give it a shot.