Linear NGDZ00-4 Garage Door

Lol, it took me a few weeks to get the cover patch working. I couldn’t use the dev branch because it doesn’t even compile on freebsd, originally I patched it but that was annoying to keep up to date.

You can pull from my fork every now and then, I do sync the config directory occasionally, but the master branch is very stable so I wouldn’t worry to much unless you are seeing a device not showing up correctly.

SETENV/SET/EXPORT: you just need to set then environmental variable LOCAL_OPENZWAVE to the location of wherever you cloned the openzwave git repo to.

Once you have the new fork up and running, you probably just need to refresh the garage door node through the HA zwave interface. I believe this will sync the new cover config. If this doesnt work, then yeah removing and re-adding the node should fix it.

I’m having the same issue everything was working find with 0.62.1 and pip3 install ‘python_openzwave==0.4.0.35’ --install-option="–flavor=ozwdev"

But with 0.63.1 no luck.

I just did the following and still not seeing my unit as a barrier/cover:

systemctl stop home-assistant.service
source /srv/homeassistant/homeassistant_venv/bin/activate
pip3 uninstall python_openzwave
cd /srv/homeassistant
git clone https://github.com/ryanwinter/open-zwave.git
export LOCAL_OPENZWAVE=/srv/homeassistant/src/open-zwave
pip3 install --no-cache-dir ‘python_openzwave==0.4.3’ --install-option="–flavor=dev"
systemctl start home-assistant.service

1 Like

I’m assuming that everything went finished without error.

  1. Does the item show up in the zwave control panel? If so, what is the node information?
  2. Did you try refreshing the node in the zwave control panel? I believe this will load the new configuration.

You should see the following through the zwave control panel node information:

manufacturer_name: Linear
product_name: GD00Z-4 Garage Door Opener Remote Controller

This is the information I get, don’t know what much of it means :slight_smile:

averageRequestRTT: 410
averageResponseRTT: 599
capabilities: beaming,routing,listening
friendly_name: Garage Door
is_awake: true
is_failed: false
is_info_received: true
is_ready: true
is_zwave_plus: true
lastRequestRTT: 535
lastResponseRTT: 625
manufacturer_name: Linear
max_baud_rate: 40000
neighbors: 1,3,5,6,7,8,9,10,11,13,15,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,43,45,46,47
new_entity_id: zwave.garage_door
node_id: 16
node_name: Garage Door
old_entity_id: zwave.garage_door_16
product_name: Unknown: type=4744, id=3530
query_stage: Complete
receivedCnt: 5
receivedDups: 0
receivedTS: 2018-02-12 20:21:22:673
receivedUnsolicited: 0
retries: 0
sentCnt: 9
sentFailed: 0
sentTS: 2018-02-12 20:21:22:048

well… I’m not sure what I did :slight_smile:

I tried refreshing and restarting. restarting and refreshing. Removed Node. Stop Network. Start Network. Heal Network.

Well one of them fixed it.

I see my cover now. Only problem is I have lots of duplicate ZWave Nodes .I will have to figure out how to clean it up later.

But I’m working again, hopefully with my steps above @pdobrien3 will be able to better answer. (if he get his working).

Not sure if this is still an issue for you, but I had the same thing. I first had to run pip3 on pydispatcher before the openzwave install would work.

So, I have spent the past couple days trying to figure out OpenZWave. I have been reading this post:

I keep coming back to your “fork” which I kinda understand but not fully.

How hard would it be for me to create my own “fork” which has the master branch plus the xml files for the devices without OpenZWave support in my mesh network?

Am I on the right track? Something someone could struggle through?

It’s easy to create a fork in github if you want complete control over what you are deploying.

My fork is basically just the master branch with the addition of the cover patch. I sync the master branch to it occasionally to pull in any new devices added to the config dir and then reinstall locally. I would suggest just using this unless there is additional patches you need.

What did you mean “without OpenZWave support in my mesh network”?

Totally get it, that’s why I created my own :smiley:

  1. So you need to go to the openzwave git repo and fork it
    https://help.github.com/articles/fork-a-repo/

  2. You need to merge the cover patch into the master branch
    https://github.com/veleek/open-zwave/commit/4494ca4b1e20fd9d2ceb6c79ebb70689a4ac7412
    I don’t remember how I did this, probably downloaded the files and created a new PR into my forked repo.

Thank you very much. Sorry, it took me so long to respond. Busy day. Hopefully I can try this over the weekend. How did you find the cover patch? Need some help finding patches for my stuff.

Ok, I have forked the master branch of OpenZWave. I then used:

sudo git pull https://github.com/veleek/open-zwave.git BarrierSupport

to add the Barrier Support files locally and did git push origin master to update my github.

It basically added three files to my github under /cpp/src/command_classes/

sound like I am on the right path?

I am guessing when I sync the OpenZWave master branch it won’t overwrite the BarrierSupport files?

Guess only time will tell.

Greatly appreciate your help on this one and would love any confirmation I did the right thing.

@kidmock,

Is there a reason you selected /srv/homeassistant/ as the location for your github clone?

I started with the Raspberry Pi All-in-One method and that’s where the everything was. Wouldn’t have been my logical choice.

I checked out the barrier checking to my fork, then committed that.
https://github.com/veleek/open-zwave/commit/4494ca4b1e20fd9d2ceb6c79ebb70689a4ac74121

Then later when you rebase upstream to your fork, it doesn’t undo your changes, something like this:

@winter,

ok, ouch…tried to change the openzwave to my repo today. bout half way through the install got this:

arm-linux-gnueabihf-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,relro -g -fdebug-prefix-map=/build/python3.5-RUbMX3/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-3.5/src-lib/libopenzwave/libopenzwave.o /home/homeas sistant/gittest/open-zwave/libopenzwave.a -ludev -lstdc++ -lresolv -o build/lib.linux-armv7l-3.5/libopenzwave.cpython-35m-arm-linux-gnueabihf.so
arm-linux-gnueabihf-g++: error: /home/homeassistant/gittest/open-zwave/libopenzwave.a: No such file or directory
error: command ‘arm-linux-gnueabihf-g++’ failed with exit status 1

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

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

Any ideas?

1 Like

I remember getting this error. I believe I was missing a dependency and openzwave was failing to compile. There isn’t enough information to say why it has failed, here are my notes on compiling:

Looks like I had to install pkgconf to get it working, but I can tell if thats the same issues you would be having.

pkg install pkgconf

setenv LOCAL_OPENZWAVE /mnt/homeassistant/tmp/openzwave/

pip3 install cython wheel six
pip3 install 'PyDispatcher>=2.0.5'
pip3 install python-openzwave --install-option="--flavor=dev" -v

You need to look back through the compile history, there will be an error to why libopenzwave.a failed to appear.

Command “/usr/bin/python3 -u -c “import setuptools, tokenize;file=’/tmp/pip-build-tios8crr/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-xxanicx2-record/install-record.txt --single-version-externally-managed --compile --flavor=dev --user --prefix=” failed with error code 1 in /tmp/pip-build-tios8crr/PyDispatcher/
Exception information:
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/pip/basecommand.py”, line 215, in main
status = self.run(options, args)
File “/usr/lib/python3/dist-packages/pip/commands/install.py”, line 360, in run
prefix=options.prefix_path,
File “/usr/lib/python3/dist-packages/pip/req/req_set.py”, line 784, in install
**kwargs
File “/usr/lib/python3/dist-packages/pip/req/req_install.py”, line 878, in install
spinner=spinner,
File “/usr/lib/python3/dist-packages/pip/utils/init.py”, line 725, in call_subprocess
% (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command “/usr/bin/python3 -u -c “import setuptools, tokenize;file=’/tmp/pip-build-tios8crr/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-xxanicx2-record/install-record.txt --single-version-externally-managed --compile --flavor=dev --user --prefix=” failed with error code 1 in /tmp/pip-build-tios8crr/PyDispatcher/

Confusing, but do you have PyDispatcher installed in pip? It mentions this.

pip3 install 'PyDispatcher>=2.0.5'

Checkout this:

Same error, something about virtual environments.