Linear NGDZ00-4 Garage Door

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?

Are you running the latest dev version of openzwave? The current release doesn’t have support for the garage door.

Try pip3 install 'python_openzwave==0.4.0.35' --install-option="–flavor=ozwdev" not sure where the funky ’ came from in the other post.

Remember, this all depends on the version of python-openzwave listed in requirements_all.txt for your install of HA.

If the currently installed version is not the same as the version listed in requirements_all.txt, then HA will install the version it wants in the deps directory (which will not be the dev version) and uses it.

When I had issues getting this all working, which sometimes still happens when python-openzwave requirement bumps and I for get to update my Docker install line, I alway check the deps directory to make sure it is empty. If there is something in the deps directory, I then know I am not installing the right version of some package and I know to fix it.

My Docker patch:

RUN pip3 uninstall -y python-openzwave && \
    pip3 install --no-cache-dir 'python_openzwave==0.4.3' --install-option="--flavor=ozwdev"

You ran the uninstall option per your post, you need to use pip3 install --no-cache-dir 'python_openzwave==0.4.3' --install-option="–flavor=ozwdev"

I wouldn’t install the ozwdev flavor, this is dev software and prone to unexpected behaviour. I would install the fork I have created of the master branch, with the cover patch as outlined here.

  1. Clone the openzwave master patched fork
  2. setup the environment
    • SETENV LOCAL_OPENZWAVE [location of cloned openzwave fork]
  3. Install 0.4.3 version, which is the current version required by HA.
    • pip3 install --no-cache-dir ‘python_openzwave==0.4.3’ --install-option=“–flavor=dev”

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.