Linear NGDZ00-4 Garage Door

Seems code was already merged to fix the “Delete Usercodes” issue:

This is only merged to anyones fork that they wanted to patch. The PR on the main OZW master branch is still open. I started doing some testing when the ha-ozw branch went live and it seems you cannot just “patch” inside of HA the same way that we have to date with our own forks. Unfortunately I think we still have to do the same method, just with the new branch… Pull down the ha-ozw branch locally, copy it via Dockerfile. No need to uninstall the new homeassistant-pyozw package I don’t think. Actually you might have to reinstall without the --install-option=" --flavor=dev.

UPDATE: So I tried forking the HA branch over, adding in the UserCode.cpp fix and then in my Dockerfile I initially just copied over the open-zwave folder and let HA install with its own homeassistant-pyozw.

That didn’t pick up the locally added open-zwave branch with the lock clear user code fix. I then uninstalled the homeassistant-pyozw and reinstalled it like we’ve been doing for a while now and that didn’t pull it over either. So I’m not sure how this is going to work at this point.

not sure i fully understand the process, but cant we just push the lock clear user code fix to the HA OZW branch for the next release?
possibly add to 0.83 beta?

I asked Balloob and he said if its not a commit that has been merged to the master OZW branch, it shouldn’t be added. I also asked one of the OZW devs why this cannot be added and there are differences of opinions.

@ptdalen @pdobrien3 @firstof9 According to balloob…

balloobToday at 1:49 PM

We just replaced the pypi ozw dependency in HA with our fork build. You can still patch things the same way, just now build our fork and point that at your branch.

So this is where I’m confused. How do we point this at our branch?

Thanks @jaburges

This solved it.

so @ptdalen this is the solution.

First clone the new HA open-zwave branch “hass”. Copy that to your build folder. Then your Dockerfile is as follows.

FROM homeassistant/home-assistant:0.82.0
ENV LOCAL_OPENZWAVE=/usr/local/share/open-zwave
COPY /open-zwave $LOCAL_OPENZWAVE

RUN set -e && \
    pip3 uninstall -y homeassistant-pyozw && \
    pip3 install --no-cache-dir homeassistant-pyozw==0.1.0 --install-option="--flavor=dev" && \

Funny. Docker install with the win and now venv install left in the dust.

So if the merge is in the Dev branch it won’t be considered for addition to the ha open-Zwave fork?

Was there any more to that section that I can use in mine? Same boat here, added but no cover shows up. The rest of the <CommandClass… sections have other lines then end with

< /CommandClass > (I had to add spaces to make it show up in the comments)

Thanks.

Bash script to help you out:

#!/bin/bash

# Update homeassistant-pyozw

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

echo "Changing to user homeassistant"
sudo -H -u homeassistant /bin/bash <<EOF
echo "Activating virtual environment"
source /srv/homeassistant/homeassistant_venv/bin/activate
echo "Updating homeassistant-pyozw to dev version"

# Change this path to your modified branch of homeassistant's openzwave fork
export LOCAL_OPENZWAVE=/home/homeassistant/open-zwave/

pip uninstall -y homeassistant-pyozw==0.1.0
pip install homeassistant-pyozw==0.1.0 --no-cache-dir --no-deps --install-option="--flavor=dev"

echo "Deactivating virtual environment"
deactivate
EOF
exit 0
2 Likes

Tbd but at the moment the HA branch is based on the hass branch which has barrier. That’s the one I used. Master doesn’t have it. Either way, venv can use the same as I did.

Aw, the new homeassistant-pyozw==0.1.0 doesnt install on freebsd, seems to be compilation errors in the branch of openzwave.

Back to my own branch :frowning:

So if I use Docker will this work now? I’m more confused reading these comments.

yeah works with docker

essentially HA created their own fork of OZW WITH barrier command class (yey), but they called it
homeassistant-pyozw instead of python_openzwave

same underlying info but, as mentioned, with the command class for garage door.
issue people are having here is that they want to add other things on TOP of garage door (like locks or thermostat) - hence the need for @edif30 dockerfile Linear NGDZ00-4 Garage Door

do you have this in the zwcfg___.xml
https://pastebin.com/k50xji5k

I added that and I get a cover to show up, but nothing happens. It does not respond to the tilt sensor and clicking open does not make the device attempt to open the door.

I just have it sitting next to me on a table, so its not actually hooked up to a door.

was it added before or did you add it AFTER the 0.82 docker build.
also did you add secure node? (assuming there is battery in the tilt sensor if you havent used it for a while)?

I just added today after upgrading. I did a secure add. I also replaced the battery in the tilt sensor.

So, until I can find the files that modified my thermostats, I am pretty good using ha the way it is. No more fiddling after every couple installs.

I think we are better off working to find a way to get the files added to the Home Assistant github and have the Home Assistant branch work for everyone. Just my two cents.

They seemed interested in adding the locks if it was done correctly.

a few people said they had to wait for their zwave network to all come up, then reboot a couple of times - possibly even HEAL to get it to show up.

I have noticed you need to wait a good period of time after adding secure nodes before you do anything. Go have a beverage of choice and just let it sit there. Also, you may need to remove it if it was connected before.