Linear NGDZ00-4 Garage Door

Ignore that error it’s not hurting anything. Do you get any other errors in your log?

No other errors. Problem is that z wave doesnt load properly and no devices update. I have an alert setup to notify me after a restart when Z wave is ready and it goes off, so HASS thinks z wave is working.

I re-attempted an install last night by taking the stock Hassbian script and adding in changes from the other scripts on this thread. I had no errors on installation but got the same error when I started HASS. config_path was correct and init.py was updated.

Thanks for the help.

What is the first line in your OZW_Log.txt ?

EDIT: Removed original response. Mistakenly thought you asked about my home assistant log. I did not look at the OZW log. Will put that sd card back in tonight and get that information.

This is what I did in my Dockerfile:

pip3 install homeassistant cython wheel six 'PyDispatcher>=2.0.5' && \
# this is in a separate pip3 install because of the --install-option
pip3 install 'python_openzwave==0.4.0.31' --install-option="--flavor=ozwdev" && \
# tell hass to not install python_openzwave
sed -i "s/'python_openzwave==.*'//" /usr/local/lib/python3.5/dist-packages/homeassistant/components/zwave/__init__.py

My OZW_Log.txt says this:

2017-08-03 23:59:42.181 Always, OpenZwave Version 1.5.0 Starting Up

I didn’t have to compile anything. The --install-option="--flavor=ozwdev" did the compiling for me. cython wheel six 'PyDispatcher>=2.0.5' are requirements listed here: https://github.com/OpenZWave/python-openzwave#python-openzwave-040-is-coming-

Now I have to make sure everything is working and automate retrieving the version number from the homeassistant/components/zwave/__init__.py file to install that exact version instead of hard coding it.

Cheers,

1 Like

Can we start a cheetsheet post 50 upgrade?
hassctl stop
hassctl update-hass
steps to fix zwave
hassctl start

I can edit this post.
So what directory do I need to run make install ?
what init.py file I need to change?

1 Like

So I tried from scratch. I flashed Hassbian 1.23 on a blank SD card, set it up so everything was working except Z wave.

Instead of trying the Hassbian scripts and mods, I went a different approach and tried the method you showed, slightly modified. Here is what I ran:

sudo systemctl stop [email protected]
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
pip3 install cython wheel six
pip3 install 'PyDispatcher>=2.0.5'
pip3 install 'python_openzwave==0.4.0.31' --install-option="--flavor=ozwdev"

Everything installed OK until the last step. I go this error:

`Command "/srv/homeassistant/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-tjfiij4k/python-openzwave/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-9y2lom4o-record/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.4/python-openzwave --flavor=ozwdev" failed with error code 1 in /tmp/pip-build-tjfiij4k/python-openzwave/`

I went ahead and tried starting HASS anyways. I made sure to modify the initi.py file and added this as my config first:

zwave:
  usb_path: /dev/ttyACM0
  config_path: /srv/homeassistant/lib/python3.4/site-packages/python_openzwave

HASS started OK, but no Z wave. Log shows:

2017-08-04 16:33:47 ERROR (MainThread) [homeassistant.setup] Error during setup of component zwave
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/setup.py", line 194, in _async_setup_component
    component.setup, hass, processed_config)
  File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
    value = future.result()
  File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
    raise self._exception
  File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/zwave/__init__.py", line 246, in setup
    from openzwave.option import ZWaveOption
ImportError: No module named 'openzwave'

Line 246 of the init py file is:

from pydispatch import dispatcher
# pylint: disable=import-error
from openzwave.option import ZWaveOption    <-----THIS ONE
from openzwave.network import ZWaveNetwork
from openzwave.group import ZWaveGroup

Any ideas?

The above method worked well for all my zwave devices so far. I did lose the names and had to re-add them to the ozwcache file. Now I have to remove my linear GDO and securely re-add it and see if it works (I had already added it insecurely and only the GDO sensors are showing up, not the cover). I see that you guys have been using OZWCP. Why? Can’t you do everything in HASS now? Add/Add Securely/Remove nodes; set config params, etc…

1 Like

That might be because of the error. Something failed the openzwave didn’t get installed. You can try dropping the version and see if it helps. It would be nice to get more verbose logging to find out what exactly failed.

OK, so, everything is working, except for secured devices. My zooz multi sensor stopped working. Maybe I need to remove and re-add it. I was able to get the Linear GDO working after removing and re-adding it. But, after I made sure it was working I restarted HASS and the thing disappeared. I still see the zwave.unknown... but I no longer see the cover.... Gonna try restarting and debugging more.

Using my original commands, even just running pip3 install prython_openzwave didnt work.

I went back to the Hassbian Openzwave-pip script and added the flavor to the install command and that seemed to work for the install, but Z wave still wouldnt start in HASS. Came back with some callback errors. Unfortunately I forgot to copy what it was exactly. No entries in the z wave log. Removed all the z wave folders, re-ran the stock Hassbian pip script and z-wave works fine, but obviously no cover component.

I’m having the following problem with my Linear GDO. If I edit the ozwcache file and remove the node then start HASS, things work properly. It recreates the node with the following:

	<Node id="22" name="" location="" basic="4" generic="64" specific="7" type="Secure Barrier AddOn" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" secured="true" configrevision="0" query_stage="Complete">
		<Manufacturer id="14f" name="Unknown: id=014f">
			<Product type="4744" id="3030" name="Unknown: type=4744, id=3030">
				<MetaData />
			</Product>
		</Manufacturer>
		<CommandClasses>
			<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1">
				<Instance index="1" />
				<Value type="byte" genre="basic" instance="1" index="0" label="Basic" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			</CommandClass>
			<CommandClass id="34" name="COMMAND_CLASS_APPLICATION_STATUS" version="1" request_flags="4" issecured="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="102" name="COMMAND_CLASS_BARRIER_OPERATOR" version="1" issecured="true">
				<Instance index="1" />
				<Value type="list" genre="user" instance="1" index="1" label="Barrier State Label" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="6">
					<Item label="Closed" value="0" />
					<Item label="Closing" value="1" />
					<Item label="Stopped" value="2" />
					<Item label="Opening" value="3" />
					<Item label="Opened" value="4" />
					<Item label="Unknown" value="5" />
				</Value>
				<Value type="list" genre="config" instance="1" index="2" label="Supported Signals" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="3" size="4">
					<Item label="None" value="0" />
					<Item label="Audible" value="1" />
					<Item label="Visual" value="2" />
					<Item label="Both" value="3" />
				</Value>
				<Value type="bool" genre="config" instance="1" index="3" label="Audible Notification" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
				<Value type="bool" genre="config" instance="1" index="4" label="Visual Notification" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
			</CommandClass>
			<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="4" issecured="true">
				<Instance index="1" />
				<Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="list" genre="user" instance="1" index="9" label="Access Control" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="8">
					<Item label="Not Active" value="0" />
					<Item label="Access Control - Manual Lock" value="1" />
					<Item label="Access Control - Manual Unlock" value="2" />
					<Item label="Access Control - RF Lock" value="3" />
					<Item label="Access Control - RF Unlock" value="4" />
					<Item label="Access Control - KeyPad Lock" value="5" />
					<Item label="Access Control - KeyPad Unlock" value="6" />
					<Item label="Access Control - Unknown" value="254" />
				</Value>
				<Value type="list" genre="user" instance="1" index="10" label="Burglar" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="8">
					<Item label="Not Active" value="0" />
					<Item label="Burglar Intrusion" value="1" />
					<Item label="Burglar Intrusion" value="2" />
					<Item label="Burglar Tamper - Cover Removed" value="3" />
					<Item label="Burglar Tamper - Invalid Code" value="4" />
					<Item label="Glass Breakage" value="5" />
					<Item label="Glass Breakage" value="6" />
					<Item label="Burglar - Unknown" value="254" />
				</Value>
			</CommandClass>
			<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" innif="true">
				<Instance index="1" />
				<Value type="int" genre="system" instance="1" index="0" label="Loaded Config Revision" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
				<Value type="int" genre="system" instance="1" index="1" label="Config File Revision" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
				<Value type="int" genre="system" instance="1" index="2" label="Latest Available Config File Revision" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
				<Value type="string" genre="system" instance="1" index="3" label="Device ID" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="" />
				<Value type="string" genre="system" instance="1" index="4" label="Serial Number" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="" />
			</CommandClass>
			<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="4" issecured="true">
				<Instance index="1" />
				<Associations num_groups="1">
					<Group index="1" max_associations="1" label="Group 1" auto="true">
						<Node id="1" />
					</Group>
				</Associations>
			</CommandClass>
			<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="4" issecured="true">
				<Instance index="1" />
				<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3" />
				<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3.67" />
				<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="1.02" />
			</CommandClass>
			<CommandClass id="152" name="COMMAND_CLASS_SECURITY" version="1" innif="true">
				<Instance index="1" />
				<Value type="bool" genre="system" instance="1" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
			</CommandClass>
		</CommandClasses>
	</Node>

If I restart HASS or the zwave network it stops working and the node in ozwcache gets modified to the following:

	<Node id="22" name="Garage Door" location="" basic="4" generic="64" specific="7" type="Secure Barrier AddOn" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" secured="true" configrevision="0" query_stage="Associations">
		<Manufacturer id="14f" name="Unknown: id=014f">
			<Product type="4744" id="3030" name="Unknown: type=4744, id=3030">
				<MetaData />
			</Product>
		</Manufacturer>
		<CommandClasses>
			<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="2" />
		</CommandClasses>
	</Node>

This makes the cover disappear and I have to remove the node from the ozwcache and restart HASS or the zwave network for it to come back. But then the next time I restart HASS or the zwave network it gets borked again.

Any idea what might be going on? Could this be because I’m not using OZWCP and 1.5 uses a cache file instead of a config file? So HASS isn’t saving the config to/on my controller and just updating the cache, which then gets refreshed on restart and all the changes by HASS get blown away? I’ll give OZWCP a try.

Running “make install” bricks my PI.

Been playing for a few days. Since my Hass is still in the “lab”, if I blow it up no big deal.
I made an image back after installing 48.1. If restore that image, it will boot up. If upgrade to 50.2, then run make install, the next time I reboot, I can not SSH back in.

@chilicheech
Steps:

  1. When the ozwcache_xxxxx.xml gets generated with the correct info, make a copy.
  2. Shutdown HA.
  3. Copy your backup over the ozwcache_xxxx.xml.
  4. Start HA.

Usually doing those steps keeps it good.

@penright: Make sure you’re doing it from inside the virtual environment, are you running hassbian or from the AIO?

hassbian

No, I was not.

Before I go back and update the start of the hassbian cheetsheet,
How does this look …

I know you said AIO, but lets try it on hassbian. :slight_smile:
Edit: +2 This is what I going to try this time.
hassctl stop
hassctl update-hass
sudo su -s /bin/bash homeassistant
source /srv/homeassistant//bin/activate
cd /srv/homeassistant/src/python-openzwave
make install
exit
hassctl start

Stay tune for results.

For the AIO installed version it’s:

sudo su -s /bin/bash homeassistant
source /srv/homeassistant/homeassistant_venv/bin/activate
cd /srv/homeassistant/src/python-openzwave
make install

I had tried that and it was still not preserving the rename and the node. I then used OZWCP to rename the node and that seems to have persisted it. I can now restart HASS and the Linear GDO is persisted.

Now I need to try removing my Zooz multi sensor and re-adding it with OZWCP because it’s reporting as unknown right now.

Is the Linear GDO supposed to show up as an unknown device? I know the Zooz has a config entry so it shouldn’t show up as unknown, so I’m gonna try to fix that. But the Linear still shows up as unknown, but it works.

I just rename it in the xml files to ‘Garage Door’ :wink: but yes it shows up like that initially.

Ran through the steps and this is my output …
https://hastebin.com/eraniserox.coffeescript

Need to give it more time, but for now I heading home.
So I took a snippet of the homeassistant log incase I can not get to it in the morning
https://hastebin.com/fotozewafu.sql

Update:
Hass came up, but not the garage door.
Here is the current log: https://hastebin.com/hanohavuvo.sql

As you can see zwave is working from node 6, but node 12 (garage door) is back to getting the class 66 error.

2017-08-08 12:46:58.101 Info, Node006, Received SensorMultiLevel report from node 6, instance 1, Temperature: value=72.5F
2017-08-08 12:46:58.101 Detail, Node006, Refreshed Value: old value=72.5, new value=72.5, type=decimal
2017-08-08 12:46:58.101 Detail, Node006, Changes to this value are not verified
2017-08-08 12:46:58.101 Detail, Node006, Notification: ValueChanged
2017-08-08 12:52:24.750 Detail, Node012,   Received: 0x01, 0x08, 0x00, 0x04, 0x00, 0x0c, 0x02, 0x98, 0x40, 0x25
2017-08-08 12:52:24.750 Info, Node012, Received SecurityCmd_NonceGet from node 12
2017-08-08 12:52:24.750 Info, NONCES: 0x5d, 0x49, 0x54, 0x17, 0x6d, 0xef, 0x95, 0x43
2017-08-08 12:52:24.750 Info, NONCES: 0xc4, 0xb2, 0x1f, 0xaf, 0x62, 0xc6, 0xf1, 0xea
2017-08-08 12:52:24.751 Info, NONCES: 0xdc, 0x34, 0xcb, 0x8c, 0x4c, 0xe7, 0xe8, 0xdf
2017-08-08 12:52:24.751 Info, NONCES: 0x80, 0x93, 0x29, 0x46, 0xdd, 0x7e, 0x76, 0xd9
2017-08-08 12:52:24.751 Info, NONCES: 0x7f, 0x4a, 0x2e, 0xaf, 0xba, 0x23, 0x9a, 0x7e
2017-08-08 12:52:24.751 Info, NONCES: 0xd6, 0xb9, 0x2d, 0x38, 0x7f, 0x1f, 0x23, 0x5c
2017-08-08 12:52:24.751 Info, NONCES: 0x53, 0xee, 0xe8, 0x9f, 0xd6, 0xd1, 0x7e, 0x55
2017-08-08 12:52:24.751 Info, NONCES: 0x65, 0xa8, 0x9b, 0x42, 0x26, 0x12, 0x1b, 0xa5
2017-08-08 12:52:24.751 Info, Node012, Sending (Send) message (Callback ID=0x01, Expected Reply=0x00) - Nonce_Report - 0x01, 0x11, 0x00, 0x13, 0x0c, 0x0a, 0x98, 0x80, 0x5d, 0x49, 0x54, 0x17, 0x6d, 0xef, 0x95, 0x43, 0x05, 0x01, 0xe4:
2017-08-08 12:52:24.760 Detail,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2017-08-08 12:52:24.760 Detail,   ZW_SEND_DATA delivered to Z-Wave stack
2017-08-08 12:52:24.776 Detail,   Received: 0x01, 0x07, 0x00, 0x13, 0x01, 0x00, 0x00, 0x02, 0xe8
2017-08-08 12:52:24.776 Detail,   ZW_SEND_DATA Request with callback ID 0x01 received (expected 0x01)
2017-08-08 12:52:24.794 Detail, Node012,   Received: 0x01, 0x1d, 0x00, 0x04, 0x00, 0x0c, 0x17, 0x98, 0x81, 0xf8, 0xb6, 0x53, 0x98, 0x20, 0xb3, 0x0f, 0x7c, 0x58, 0x97, 0xe6, 0x04, 0x5d, 0x5f, 0x72, 0x69, 0x84, 0xf0, 0x85, 0x79, 0xe9, 0xd4
2017-08-08 12:52:24.794 Info, Raw: 0x98, 0x81, 0xf8, 0xb6, 0x53, 0x98, 0x20, 0xb3, 0x0f, 0x7c, 0x58, 0x97, 0xe6, 0x04, 0x5d, 0x5f, 0x72, 0x69, 0x84, 0xf0, 0x85, 0x79, 0xe9, 0xd4
2017-08-08 12:52:24.794 Detail, Node012, Decrypted Packet: 0x00, 0x66, 0x03, 0xff
2017-08-08 12:52:24.794 Detail, 
2017-08-08 12:52:24.794 Info, Node012, ApplicationCommandHandler - Unhandled Command Class 0x66

The garage door zwave has not worked since upgrading to 50.2.
Also every time I shut it down to try and restart SSH fails to connect.
I have to go back to an image I saved with 48.1 before I loaded 50.2. When I do all works again.