Z-wave will not pull device info just loads as unknown

using aeotec gen5 usb stick
tried using HA ad node and add secure node
so far all my switches and dimmers come in as unknown devices
luckly I had my zwcfg from the razberry zwave hat

clean install from ground up on computer loaded with stretch and latest hasbain
it adds devices without issue just will not pull the description of the device just adds it as unknown
manually updating the zwcfg is getting old

currently have 28 devices and alot more on the plan

tried deleting the zwcfg file and forcing it to repull the info and it still pulls as unknown and yes I know about shutting down HA first before modding the zwcfg file

Well I am thinking that Home assistant does not know where the folder is for the xml files

does anybody know the file path that home assistant is expecting to find the xml files?

I can do a configure path in the configuration.yaml to get it to the folder however much rather have the default path

thanks

It’s looking in <config directory>/config/ for the ozw XML files.
ie: /home/homeassistant/.homeassistant/config/

my setup does not have a config folder in .homeassistant

my setup is a manual setup on linux if that makes a difference

If you want to see what the auto-detected config path is set to, you can do it with some python. Run this command, replacing /dev/ttyACM0 with your z-stick’s path:

python -c 'from openzwave.option import ZWaveOption; option = ZWaveOption("/dev/ttyACM0"); print(option.config_path)'`.

Be sure to use the python where HA is installed, e.g. if it’s a virtualenv make sure you activate it first.

Example from my venv. Note that it’s not the default and I installed the configs to /usr/local/etc/openzwave to manage them myself.

(homeassistant-3.6.3) homeassistant@hasspi:~/.homeassistant$ python -c 'from openzwave.option import ZWaveOption; option = ZWaveOption("/dev/ttyACM0"); print(option.config_path)'
/usr/local/etc/openzwave/

In a normal installation, without any configuration, the location of the XML files is in the python-openzwave module install path. For example, in my python virtualenv the location is ~/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/python_openzwave/ozw_config. So depending on how your python enviroment is setup, it will be in the site-packages path.

If you don’t specify a config_path value in the configuration.yaml, then pyozw will automatically search for it (source code).

So according to the priorities, it would search:

  1. The directory specified by config_path in the configuration.yaml zwave config.
  2. /etc/openzwave
  3. /usr/local/etc/openzwave
  4. The python_openzwave.ozw_config package resource directory, e.g. <python install>/site-packages/python_openzwave/ozw_config. This is the path I mentioned above.
  5. <current dir>/openzwave/config. The current directory would depend on entirely how hass is started.
  6. /usr/config
  7. /usr/local/config
  8. /usr/share/openzwave/config
  9. /usr/local/share/openzwave/config
  10. some obscure locations related to a libopenzwave python distribution

If any of the paths from 1-4 are missing the file device_classes.xml then they will be ignored. Paths 6-10 are “historical”, and are unlikely to be encountered.

If pyozw cannot find a valid config path it will throw an exception and zwave will never start.

I’m not sure how pyozw would look for <config directory>/config/, but I maybe I just missed it. There is a separate “user path” that configures where OZW saves logs and the zwcfg*.xml file, that is set to <HA config directory> (for my venv, ~/.homeassistant), but that location is not where config XML files are loaded from; except if using the C++ library directly, when omitting a config path OZW will search for <current directory>/config/ (pyozw prevents this from happening).

I recall the old installer script would created a symlink for you with the manual install option which links to <python install>/site-packages/python_openzwave/ozw_config

this is what was returned ImportError: No module named openzwave.option

You need to run it in the environment where HA is installed.

ok that did it give me etc/openzwave looking at the config files in that folder does not show my devices looks like a outdated version that resides in that folder