Linear NGDZ00-4 Garage Door

0.4.9 is the version of Python_OpenZwave, it’s a python wrapper for communicating with the openzwave stack.

Hey folks. Was wondering if I could get a hand. I’ve been using a version of the ozw library I built myself for a while now but as all things change during the last upgrade I tried the “flavor” method to catch up as I haven’t rebuilt the library in some time. And ran head long into the the following which flat out kills HASS and leaves me stuck. I’ve attempted to roll back to 0.4.8 with the same results. I may try to go back a little further. I’m afraid its an issue with openzwave itself (not to be confused with python-openzwave) which could complicate things. Any help is appreciated.

Sep 19 20:46:17 Hostname hass[5031]: 2018-09-19 20:46:17.949 Warning, Exception: Manager.cpp:2607 - 102 - ValueID passed to GetValueFloatPrecision is not a Decimal Value
Sep 19 20:46:17 Hostname hass[5031]: terminate called after throwing an instance of ‘OpenZWave::OZWException’
Sep 19 20:46:17 Hostname hass[5031]: what(): Manager.cpp:2607 - CannotConvertValueIDError (102) Msg: ValueID passed to GetValueFloatPrecision is not a Decimal Value
Sep 19 20:46:18 Hostname systemd[1]: [email protected]: Main process exited, code=killed, status=6/ABRT
Sep 19 20:46:18 Hostname systemd[1]: [email protected]: Failed with result ‘signal’.

Flavor Method
pip3 install --no-cache-dir python_openzwave==0.4.9 --install-option=“–flavor=ozwdev”
Homeassistant 0.78

Maybe try uninstalling openzwave, then start HA. it should see it’s missing and install the normal version.

If that works, then stop HA and install the dev flavor again

No joy. Did just as you suggested. It works fine with the default version 1.4.3142. Unfortunately as we know we need 1.5 to get cover support. I’ll keep digging but I’m open to suggestions.

Are you saying that once you upgrade to the dev flavor that HA still does not work at all? I’m not using it myself anymore, but it seems as if it should work. I’m personally using 1.4.xxx with the cover support added manually in my own git.

Yeah it looks as though there is an error in the cpp libraries used by python_openzwave. I’m going to try and down grade till it works again then submit a bug report to openzwave. Unfortunately they don’t move particularly fast.
Can I ask what you did to patch yours?

This is a little outdated, but should be easy enough to follow

Here is my github

it’s .49

Anyone know if i can use this without the tilt sensor through HA?

So I had this working in 0.69, but updating to the latest and it’s no longer showing the cover.
It’s showing this in the OZW_Log.txt: OpenZwave Version 1.4.3142 Starting Up

Using docker, so here is my Dockerfile:
FROM homeassistant/home-assistant:0.78.3

ENV LOCAL_OPENZWAVE=/usr/local/src/open-zwave

COPY open-zwave/ $LOCAL_OPENZWAVE/

RUN set -e && \

pip uninstall -y python_openzwave && \

pip3 install --upgrade cython==0.24.1 wheel six && \

pip3 install --no-cache-dir 'python_openzwave==0.4.9' --install-option="--flavor=dev" && \

mkdir -p /usr/local/share/python-openzwave && \

ln -s /usr/local/lib/python3.6/site-packages/python_openzwave/ozw_config /usr/local/share/python-openzwave/config

I’m cloning down the repo from: https://github.com/pdobrien3/open-zwave

I’m just building the container with: docker build -t homeassistant-with-barrier /srv/data/apps/docker/builds/hass_with_barrier/ which is where the Dockerfile and open-zwave folder are located. This has all the folders and worked before.

I haven’t deleted the pyozw.sqlite or the device (Am not local so I cannot re-pair it for a while). No complaints in the OZW_Log for 0x66, but cover type still doesn’t show up in the list of sensors.

My configuration.yaml also contains this:
cover:
platform: zwave

I’ve been trying to browse through the thread, but not sure what step actually works now that I missed. Any directions? It is clear HASS isn’t using the correct open zwave version, so I figure if I can solve that the rest should fall into place afterwards.

When running the build command, I did get this error, but I think I’ve always had this error:

/usr/local/lib/python3.6/site-packages/pip/_internal/commands/install.py:206: UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options. cmdoptions.check_install_build_global(options)

Has anyone gotten a docker build to use the zwave dev yet when using a Raspberry Pi running docker?

I have tried the posted dockerfile and changed the source to homeassistant/raspberrypi3-homeassistant but when building I get gcc not found for the Cython install and then for the python_openzwave.

Dockerfile:

FROM homeassistant/raspberrypi3-homeassistant
RUN set -e &&
pip3 uninstall -y python-openzwave && \
pip3 install --upgrade cython==0.24.1 && \
pip3 install --no-cache-dir ‘python_openzwave==0.4.9’ --install-option=“–flavor=ozwdev”

And the error log: Sending build context to Docker daemon 2.048kBStep 1/2 : FROM homeassistant/r - Pastebin.com

gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.6m -c /tmp/pip-install-_t98tsuo/cython/Cython/Plex/Scanners.c -o build/temp.linux-armv7l-3.6/tmp/pip-install-_t98tsuo/cython/Cython/Plex/Scanners.o
unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1

Any help is appreciated!

python_openzwave is now at 0.4.11, prepare for updates
download

1 Like

Looks like the rpi3 docker image, which is different than the standard homeassistant/homeassistant image, does not include build tools such as gcc.

Sorry to butt in here, but I’m also trying to get this device working in HA. First, I am not using a raspberry pi, I have HA loaded as a docker on UnRAID. I’m not too sure as to how to add the cover support into OZW within the UnRAID docker (and i’m sure it would be painful to redo after every update).

However, I’m actually not too concerned about that aspect just yet. What I’m trying to figure out is where the stinkin’ tilt sensor is listed in the devices! I know the tilt sensor isn’t directly referenced as a zwave device as it talks to the GD00Z-4 directly. However, I have only six sensor entities showing up under the garage door controller:

binary_sensor.linear_gd00z4_garage_door_opener_remote_controller_sensor
sensor.linear_gd00z4_garage_door_opener_remote_controller_access_control
sensor.linear_gd00z4_garage_door_opener_remote_controller_alarm_level
sensor.linear_gd00z4_garage_door_opener_remote_controller_alarm_type
sensor.linear_gd00z4_garage_door_opener_remote_controller_burglar
sensor.linear_gd00z4_garage_door_opener_remote_controller_sourcenodeid

Am I missing something? is the tilt sensor not properly talking to the controller? or are one of these sensors the tilt sensor?

I’m seriously considering just throwing in the towel on this and getting a zwave relay and separate tilt sensor.

Did you add zwave cover to your configuration.yaml?

It looks like you’re almost there.

Yep, added:

cover:
platform: zwave

reset the docker, and it came up no problems. Still not listing the device as a cover (bear in mind I have not removed/reinstalled python-openzwave dev version), but I still only have the 6 sensors listed. I’m currently troubleshooting the tilt sensor. Since I have the controller mounted, it’s a pain to tear it back down, move it back into the room with the UnRAID server (and usb zwave controller) to re-pair.

So, what is the tilt sensor supposed to look like in the device list?

I don’t have a tilt sensor spelled out specifically either. But the garage door is definitely working. Once the dev version is loaded the cover shows up. It shows the state (open, closed, etc). Maybe that’s the way open wave manages the tilt sensor

Hm. So, if I go the route of changing to python-openzwave dev, will I need to remove the controller and re-add it in order for it to work? Or is it possible to force zwave to query the node and retrieve the updated configuration?

A lot of people say they had to remove/readd. I’ve been able to just to a refresh/repair and get it to show up. I’d say try to do a refresh, heal, etc. if it does not work try the remove/readd

I just bit the bullet and did the python-openzwave reinstall dev version. After a restart, the controller shows a cover device. I’ll poke at it some more and see what I can do with it. Thanks!

EDIT:
yep, as soon as I added the cover to my zwave group, it told me the current state of the door (open/closed) and was completely controlled by the UI.

The exact method I used to update the UnRAID Home-Assistant docker to use the dev version of openzwave is:
docker exec -it /bin/bash
pip3 uninstall -y python-openzwave && pip3 install --upgrade cython==0.24.1 && pip3 install --no-cache-dir ‘python_openzwave==0.4.9’ --install-option="–flavor=ozwdev"

I highly recommend typing out the pip commands, as doing a copy/paste from the forum left me with a few bad characters, mainly in the --install-option field…

Now, if only I can figure out why my garage multisensor is showing as ‘unknown’…

1 Like

I just want to relay my experience in setting up the Cover/Barrier support in OpenZwave with Home Assistant and highlight a few outstanding issues. I realize we’re all using a dev and/or patched version of OpenZwave, but I couldn’t find any support requests that align with my current status.

First off, the basics:
Home Assistant: 0.80.0
python_openzwave: 0.4.9
OpenZwave flavor: ozwdev
No docker containers
Arch linux/python3 on Raspberry Pi

The install worked flawlessly and after reboot/HA restart the “Linear GD00Z-4 Garage Door Opener Remote Controller” showed up as a cover control in addition to the 3 sensors and 1 binary sensor. Winner!

However, subsequent restarts of HA show that OpenZwave appears to crash on restart. This seems to occur after OpenZwave has already been successfully initiated and devices are working. If I immediately restart HA again after the OpenZwave failure, everything appears to recover. I am wondering if anyone else has observed this behavior?

I have also noted that, upon a successful initializing of OpenZwave through HA, I have to refresh the “Linear GD00Z-4 Garage Door Opener Remote Controller” node in order to get cover control and the sensors. Again, everything works fine - but the controls/sensors are not there when first initialized. Only after a node refresh.

Look forward to hearing if this is “normal” or if maybe something is amiss in my configuration.