Linear NGDZ00-4 Garage Door

The error message sounds like there might be a relaying issue on your Zwave network somewhere, hard to say.

Silly question, but what sounds does the NGDZ00-4 make when successfully paired? I am hearing three beeps.

Okay, apparently that message doesn’t matter! After my latest attempt I reset my rpi and now I see the cover! Thanks for your support @firstof9.

pip3 list

Will tell you what is installed, anything zwave related?

Here are all the steps I followed and working: RPi3 + Python 3.6.x

cd /home/homeassistant/.homeassistant
sudo systemctl stop [email protected]
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
pip3 uninstall python_openzwave

Proceed (y/n)? y
Successfully uninstalled python-openzwave-0.4.0.35

rm /srv/homeassistant/lib/python3.5/site-packages/libopenzwave.cpython-35m-arm-linux*.so //This only works for Python 3.5.x and is not needed for 3.6.xxxxx

pip3 install ‘python_openzwave==0.4.0.35’ --install-option="–flavor=ozwdev" //This step takes a bit of time, leave it alone about 15min on RPi3

pyozw_check

Should be OpenZwave Version 1.5.xxxxx

sudo reboot

I get the following error when following these instructions

Command “/usr/bin/python3 -u -c “import setuptools, tokenize;file=’/tmp/pip-build-3wid9_cl/PyDispatcher/setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(’\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install --record /tmp/pip-2wpx09_v-record/install-record.txt --single-version-externally-managed --compile –flavor=ozwdev” failed with error code 1 in /tmp/pip-build-3wid9_cl/PyDispatcher/

pip3 list returns the following
cryptography (1.7.1)
idna (2.2)
keyring (10.1)
keyrings.alt (1.3)
pip (9.0.1)
pyasn1 (0.1.9)
pycrypto (2.6.1)
PyDispatcher (2.0.5)
pygobject (3.22.0)
python-apt (1.1.0b5)
pyxdg (0.25)
SecretStorage (2.3.1)
setuptools (33.1.1)
six (1.11.0)
wheel (0.29.0)

Did you activate the virtual environment?

Do i activate the virtual environment by executing the following ?
source /srv/homeassistant/bin/activate
if that is the case it get the following

/srv/homeassistant/lib/python3.5/site-packages/pip/commands/install.py:212: UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options.
cmdoptions.check_install_build_global(options)
Collecting python_openzwave==0.4.0.35
Using cached python_openzwave-0.4.0.35.zip
Requirement already satisfied: PyDispatcher>=2.0.5 in /srv/homeassistant/lib/python3.5/site-packages (from python_openzwave==0.4.0.35)
Requirement already satisfied: six in /srv/homeassistant/lib/python3.5/site-packages (from python_openzwave==0.4.0.35)
Skipping bdist_wheel for python-openzwave, due to binaries being disabled for it.
Installing collected packages: python-openzwave
Running setup.py install for python-openzwave … error
Complete output from command /srv/homeassistant/bin/python3 -u -c “import setuptools, tokenize;file=’/tmp/pip-build-iyga2ukt/python-openzwave/setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(’\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install --record /tmp/pip-bwi3xk3l-record/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.5/python-openzwave –flavor=ozwdev:
ImportError in : from wheel.bdist_wheel import bdist_wheel as _bdist_wheel
NameError in : class bdist_wheel(_bdist_wheel) - Use bdist_egg instead
<pyozw_setup.EmbedTemplate object at 0x76297570>
{‘extra_compile_args’: [], ‘extra_objects’: [‘openzwave-embed/open-zwave-master/libopenzwave.a’], ‘sources’: [‘openzwave-embed/open-zwave-master/python-openzwave/src-lib/libopenzwave/libopenzwave.cpp’], ‘include_dirs’: [‘src-lib/libopenzwave/’, ‘openzwave-embed/open-zwave-master/cpp/src’, ‘openzwave-embed/open-zwave-master/cpp/src/value_classes’, ‘openzwave-embed/open-zwave-master/cpp/src/platform’, ‘openzwave-embed/open-zwave-master/cpp/build/linux’], ‘name’: ‘libopenzwave’, ‘extra_link_args’: [], ‘libraries’: [‘udev’, ‘stdc++’, ‘resolv’], ‘define_macros’: [(‘PY_LIB_VERSION’, ‘0.4.0.35’), (‘PY_SSIZE_T_CLEAN’, 1), (‘PY_LIB_FLAVOR’, ‘embed’), (‘PY_LIB_BACKEND’, ‘cython’)], ‘language’: ‘c++’}
[‘six’, ‘PyDispatcher>=2.0.5’]
invalid command name ‘–flavor=ozwdev’

----------------------------------------

Command “/srv/homeassistant/bin/python3 -u -c “import setuptools, tokenize;file=’/tmp/pip-build-iyga2ukt/python-openzwave/setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(’\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install --record /tmp/pip-bwi3xk3l-record/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.5/python-openzwave –flavor=ozwdev” failed with error code 1 in /tmp/pip-build-iyga2ukt/python-openzwave/

This tells me you are not in your venv, use the following command:

source /srv/homeassistant/homeassistant_venv/bin/activate

Then pip list should show a very large list of items similar to the following:

...
ha-ffmpeg (1.9)
home-assistant-frontend (20180112.0)
homeassistant (0.61.1)
...

This is when you execute pip3 install 'python_openzwave==0.4.0.35' --install-option="–flavor=ozwdev"

Does anyone have instructions on how to do this with the new HASSIO image running on Alpine?

There is no simple way. It was discussed at some point in this thread and to sum it up, its too much work.

Thx for the reply. Well, I guess I’ll figure something else out. :slight_smile:

0.63 updates python-openzwave to 4.1.3. Any chance this adds in the barrier class to let this device work?

2 Likes

From what I can tell my barrier support is still working, I didn’t issue any commands to update python-openzwave myself.

Guessing you had the dev version prior to 0.63 though correct? I’m on HassIO wondering if this release adds support in the main version. Won’t be able to test for a day or two.

You’re assumption is correct. All you can do is test and see with HassIO.

I would say no. Barrier support was added only to the Dev branch of the open-zwave project. python-openzwave pulls updates from the master branch, which typically only includes device updates (xml files). Barrier support has not been merged from Dev to master yet (see https://github.com/OpenZWave/open-zwave/issues/490 and https://github.com/OpenZWave/open-zwave/pull/1435).

There are a couple of forks that have applied the Barrier support patches to master branch: 1) https://github.com/bitdog-io/open-zwave and 2) https://github.com/ryanwinter/open-zwave. Last year I tried the Dev branch (see my earlier comments above) and while it allowed the Linear to function with the barrier commands, the zwave library was always crashing when restarting the zwave network. Since using the bitdog-io fork the Linear is working and I’m not getting any crashes; everything seems to be working well as far as I can tell.

You might be out of luck in HassIO until the Barrier changes are merged. I solved this in my Hass Virtualenv install by cloning a copy of the bitdog-io repository and installing python-openzwave with the “dev” flavor (not the “ozwdev” flavor). I’ll have to do this each time I upgrade Hass for now. Something like this is how I installed it (from memory):

# go to some directory where you can download open-zwave
cd /tmp
git clone https://github.com/bitdog-io/open-zwave
export LOCAL_OPENZWAVE="$PWD/open-zwave"
# activate venv here
pip install python_openzwave --install-option="--flavor=dev" --no-deps

Note that the above installed the latest pyozw 0.4.4, which is not the version used by Hass. You’ll either need to modify the Hass zwave component’s init.py file to set the correct version, or set the version number in the pip install command, otherwise Hass will reinstall pyozw which will lose the Barrier patches. I modified the __init__.py file. Either way, if the version changes in a new Hass release, you’ll need to repeat this.

1 Like

Yeah don’t go with the dev branch, you will be on your own when it comes to issues.

You can install 0.4.3 (the current version used by HASS) directly with the following pip3:

pip3 install python-openzwave==0.4.3 --install-option="--flavor=dev" -v

It’s missing from your zwave node management?