Linear NGDZ00-4 Garage Door

@firstof9 @finity After a another reboot some of the names came back …


The linear did not, before it was something like linear unknow or something like that.
So far the tilt still does not seem to respond in the states.

@firstof9 @finity Also, it might have broke AppDaemon

AppDaemon should not be affected, may be a separate issue.
Now that you have the cover showing up, you should be able to link it in the GUI providing you’ve replaced the zwave component files

https://raw.githubusercontent.com/firstof9/home-assistant/proper-patch/homeassistant/components/cover/init.py
and
https://raw.githubusercontent.com/firstof9/home-assistant/proper-patch/homeassistant/components/cover/zwave.py

They go in your /srv/homeassistant//lib/python3.4/site-packages/homeassistant/components/cover directory or /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/cover using AIO.

As for naming the device, you can do that via the zwave config to name your device, or just manually edit the ozwcache_xxxxx.xml file in /home/homeassistant/.homeassistant/ directory or copy your zwcfg_xxxxx.xml on top of it.

If did change some of the permissions on some of the directories. My conf directory is off of .homeassistant.

Details if you care :slight_smile:

For me it was ‘_/srv/homeassistant//lib/python3.4/site-packages/homeassistant/components/cove_r’ directory. Now the GUI seems to work and the cover widget for the dashboard.
Default setup for the widget seems pretty bla, I wonder what customizing can be done? Oh well that’s for another thread. :slight_smile:

Just to confirm, you are able to monitor and open/close your door now via HA?

Yes. I think going over my lessons learned (otherwise know as mistakes), maybe we can come up with a Hassbain document or better yet, script.

The two python files that was hot patch in the cover directory, will they be in the next release or will I have to update them by hand again?

Along the same lines, will OZW have the patches we applied there?

Yes, please make some kind of documentation. I am have the same issue and I am not very good at using Linux so a detailed guide would be amazing to have for rookies like myself.

Not sure I understand the pros and cons to different methods.
Is there a file that Name = Node#. That way if Node# changes, I change that and all my entities work. Every time I remove/added the garage door opener, it got a new node number. I am going to have two garage door openers.

Edit:
Just tried the zwcfg_xxx.xml. Restarted (hassctl restart) and the node name did not change.

	<Node id="12" name="" location="" basic="4" generic="64" specific="7" roletype="5" devicetype="3078" nodetype="0" type="Secure Barrier AddOn" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" secured="true" query_stage="Complete">
		<Manufacturer id="14f" name="Linear">
			<Product type="4744" id="3530" name="Garage Door One Car" />
		</Manufacturer>

Step 1: Stop HA
Step 2: edit the xml (ozwcache_xxxx.xml should be the file it’s reading from) similar to this:
<Node id="12" name="Garage Door" location="" basic="4" generic="64" specific="7" roletype="5" devicetype="3078" nodetype="0" type="Secure Barrier AddOn" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" secured="true" query_stage="Complete">

Step 3: Save the file
Step 4: Start HA

It should now have the name “Garage_Door” in HA.

1 Like

I am working on a Pull Request to get them into HA.

The OZW files will still work, as long as you modify the __init__.py file once again.

That was my first mistake, I was doing zwcfg_xxxx.xml.
Also, I see why you have to stop it first. :slight_smile:

Off topic somewhat, but does go to understand what we did to get the linear garage door to work. So what did the change do ?

Is that not something ozw developers need to change also?

The change stops HA from auto-downloading the unmodified python_openzwave via pip.

Nope this change was implemented by the HA developers to make things easier for zwave integration.

Well I’ve submitted a PR to get the HA modifications in, that’ll make it easier to get working if/when they merge it in.

Uber excited! Thank you all!

You’ll still have to get the dev version of Python_OpenZwave compiled, but it’ll still be much easier than manually copying files around in homeassistant :wink:

I never could get it to work.

I gave up and just bought a zwave dry contact relay and tilt sensor.

both together were cheaper than the linear GDO and WAY easier to get it to work. it was 15 minutes versus 3 or 4 days of trying everything over and over again and it still not working.

it especially made more sense to go with the cheaper/easier alternative since i realized if i ever get another newer style GDO, HA and linear won’t work with the security features of the MyQ systems (which most of the readily accessible ones seem to be) without a connection to the internet and a MyQ gateway (even more $).

hopefully one day this will get fully integrated for those who need it.

thanks @firstof9 for all the help tho. i guess my linux skills need A LOT more work to figure it out!

I did the same :wink: I still have the Linear up there ready to reconnect as soon as HASS supports it out of the box …

compiling the dev version of python_openzwave isn’t too complicated :stuck_out_tongue:
If/when the PR is merged that’s a lot of the battle right there.

@firstof9
Ran into something interesting I can’t quite seem to sort figured you might be able to help. I managed to get openzwave compiled and working but after patching the cover files I get this

2017-07-24 11:35:39 ERROR (Dummy-14) [homeassistant.loader] Error loading homeassistant.components.cover.zwave. Make sure all dependencies are installed
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.4/site-packages/homeassistant/loader.py”, line 141, in get_component
module = importlib.import_module(path)
File “/usr/lib/python3.4/importlib/init.py”, line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 2254, in _gcd_import
File “”, line 2237, in _find_and_load
File “”, line 2212, in _find_and_load_unlocked
File “”, line 321, in _call_with_frames_removed
File “”, line 2254, in _gcd_import
File “”, line 2237, in _find_and_load
File “”, line 2226, in _find_and_load_unlocked
File “”, line 1200, in _load_unlocked
File “”, line 1129, in _exec
File “”, line 1471, in exec_module
File “”, line 321, in _call_with_frames_removed
File “/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/cover/init.py”, line 16, in
from homeassistant.loader import bind_hass
ImportError: cannot import name ‘bind_hass’

Any thoughts? Let me know if you need any further information.

Yup, use these links for the patch:

https://raw.githubusercontent.com/firstof9/home-assistant/c680679a636c0a517fbbf9536643941e1088c393/homeassistant/components/cover/__init__.py

https://raw.githubusercontent.com/firstof9/home-assistant/c680679a636c0a517fbbf9536643941e1088c393/homeassistant/components/cover/zwave.py

The latest version on GitHub have upcoming merged changes mixed in :smile:

Enjoy!

EDIT: Updated link @Segfaul198

1 Like