OZWCP - help with install/compile

Hey All, bear with me, I am new to HA and Linux :sweat_smile:,

I have HA installed & running on a VM of Debian 8.6 using the virtualenv tutorial, all is well thus far.
It looks like I now have a need for the OZWCP, this is where I need some direction.

Unfortunately, I can’t seem to find case-specific tutorial to get me by. I have came across a few areas that are specific to the RPi, which I understand is based on Debian, but I don’t have the confidence to pull the trigger and follow these directly.
ex: https://www.reddit.com/r/homeassistant/comments/522n6x/manually_install_home_assistant_with_openzwave/

I’m hoping that someone might be able to help spoon feed me for how to get OZWCP installed on my build.

Many thanks!!

Similar problem here, but I’m on a pi and the link that Esso references (which is the same one I had tried earlier) errors out on me when I try to run make on open-zwave-control-panel.

pi@hass:~/open-zwave-control-panel $ make
Please edit the Makefile to avoid this error message.
Makefile:58: recipe for target ‘defs’ failed
make: *** [defs] Error 1
pi@hass:~/open-zwave-control-panel $

I made the modifications to the make file that are called for in the documentation. Any ideas?

I found part of the problem. I had started installing it in the virtual environment and was trying again outside the virtual environment. Now I’m back in the virtual environment, and got a little farther by telling it where I had installed openzwave a few months ago. Now I’m getting this.

(hass) hass@hass:~/open-zwave-control-panel$ make
g++ -o ozwcp -g ozwcp.o webserver.o zwavelib.o /srv/hass/src/python-openzwave/openzwave/libopenzwave.a   -pthread -ludev -lresolv
webserver.o: In function `Webserver::SendTopoResponse(MHD_Connection*, char const*, char const*, char const*, char const*)':
/home/hass/open-zwave-control-panel/webserver.cpp:338: warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
webserver.o: In function `web_send_data':
/home/hass/open-zwave-control-panel/webserver.cpp:110: undefined reference to `MHD_create_response_from_buffer'
/home/hass/open-zwave-control-panel/webserver.cpp:112: undefined reference to `MHD_create_response_from_buffer'
/home/hass/open-zwave-control-panel/webserver.cpp:114: undefined reference to `MHD_create_response_from_buffer'
/home/hass/open-zwave-control-panel/webserver.cpp:119: undefined reference to `MHD_add_response_header'
/home/hass/open-zwave-control-panel/webserver.cpp:120: undefined reference to `MHD_queue_response'
/home/hass/open-zwave-control-panel/webserver.cpp:121: undefined reference to `MHD_destroy_response'
webserver.o: In function `web_send_file(MHD_Connection*, char const*, int, bool)':
/home/hass/open-zwave-control-panel/webserver.cpp:170: undefined reference to `MHD_create_response_from_buffer'
/home/hass/open-zwave-control-panel/webserver.cpp:179: undefined reference to `MHD_create_response_from_buffer'
/home/hass/open-zwave-control-panel/webserver.cpp:183: undefined reference to `MHD_create_response_from_callback'
/home/hass/open-zwave-control-panel/webserver.cpp:187: undefined reference to `MHD_add_response_header'
/home/hass/open-zwave-control-panel/webserver.cpp:188: undefined reference to `MHD_queue_response'
/home/hass/open-zwave-control-panel/webserver.cpp:189: undefined reference to `MHD_destroy_response'
webserver.o: In function `Webserver::Handler(MHD_Connection*, char const*, char const*, char const*, char const*, unsigned int*, void**)':
/home/hass/open-zwave-control-panel/webserver.cpp:1111: undefined reference to `MHD_create_post_processor'
/home/hass/open-zwave-control-panel/webserver.cpp:1149: undefined reference to `MHD_post_process'
/home/hass/open-zwave-control-panel/webserver.cpp:1200: undefined reference to `MHD_post_process'
/home/hass/open-zwave-control-panel/webserver.cpp:1215: undefined reference to `MHD_post_process'
/home/hass/open-zwave-control-panel/webserver.cpp:1233: undefined reference to `MHD_post_process'
/home/hass/open-zwave-control-panel/webserver.cpp:1242: undefined reference to `MHD_post_process'
webserver.o:/home/hass/open-zwave-control-panel/webserver.cpp:1251: more undefined references to `MHD_post_process' follow
webserver.o: In function `Webserver::Free(MHD_Connection*, void**, MHD_RequestTerminationCode)':
/home/hass/open-zwave-control-panel/webserver.cpp:1503: undefined reference to `MHD_destroy_post_processor'
webserver.o: In function `Webserver::Webserver(int)':
/home/hass/open-zwave-control-panel/webserver.cpp:1521: undefined reference to `MHD_start_daemon'
webserver.o: In function `Webserver::~Webserver()':
/home/hass/open-zwave-control-panel/webserver.cpp:1551: undefined reference to `MHD_stop_daemon'
collect2: error: ld returned 1 exit status
Makefile:71: recipe for target 'ozwcp' failed
make: *** [ozwcp] Error 1
(hass) hass@hass:~/open-zwave-control-panel$

[quote=“turboc, post:3, topic:9456”]
Now I’m back in the virtual environment, and got a little farther by telling it where I had installed openzwave a few months ago. Now I’m getting this. [/quote]

Did you mange to solve it? Getting same error
This is the makefile. Even changed the include to /usr/include instead of /usr/lib/include which is empty on CentOS7

OPENZWAVE := /srv/homeassistant/src/python-openzwave/openzwave
LIBMICROHTTPD := /usr/include/microhttpd.h

INCLUDES := -I $(OPENZWAVE)/cpp/src -I $(OPENZWAVE)/cpp/src/command_classes/ \
    -I $(OPENZWAVE)/cpp/src/value_classes/ -I $(OPENZWAVE)/cpp/src/platform/ \
    -I $(OPENZWAVE)/cpp/src/platform/unix -I $(OPENZWAVE)/cpp/tinyxml/ \
    -I /usr/include/

# Remove comment below for gnutls support
GNUTLS := -lgnutls -lgcrypt

# for Linux uncomment out next three lines
LIBZWAVE := $(wildcard $(OPENZWAVE)/*.a)
LIBUSB := -ludev
LIBS := $(LIBZWAVE) $(GNUTLS) $(LIBMICROHTTPD) -pthread $(LIBUSB) -lresolv
`

Was too fast posting the question.
Resolution was simple.
The microhttpd via the yum install didn’t provide the necessary libs…
So outside the VE i ran

wget ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.33.tar.gz   
tar xf libmicrohttpd-0.9.33.tar.gz
mv libmicrohttpd-0.9.19 libmicrohttpd && cd libmicrohttpd
wget -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
./configure && make
make install   # Install libmicrohttpd

And than corrected the makefile as the following and everything was installed correctly

OPENZWAVE := /srv/homeassistant/src/python-openzwave/openzwave
LIBMICROHTTPD := /usr/local/lib/microhttpd.a
INCLUDES := -I $(OPENZWAVE)/cpp/src -I $(OPENZWAVE)/cpp/src/command_classes/ \
    -I $(OPENZWAVE)/cpp/src/value_classes/ -I $(OPENZWAVE)/cpp/src/platform/ \
    -I $(OPENZWAVE)/cpp/src/platform/unix -I $(OPENZWAVE)/cpp/tinyxml/ \
    -I /usr/include/

# Remove comment below for gnutls support
GNUTLS := -lgnutls -lgcrypt

# for Linux uncomment out next three lines
LIBZWAVE := $(wildcard $(OPENZWAVE)/*.a)
LIBUSB := -ludev
LIBS := $(LIBZWAVE) $(GNUTLS) $(LIBMICROHTTPD) -pthread $(LIBUSB) -lresolv
1 Like

Sorry to drag up an old thread on my first post to the forum but I just installed Hassbian on a fresh RPi and then tried to follow this liink:
https://lickthesalt.com/2016/04/11/compiling-open-zwave-control-panel-on-a-raspberry-pi-3/
to get open zwave installed as I have a Razberry card on the RPi that I wanted to get up and running. I am getting the same error when trying to run ‘make’ for the control panel.
pi@hassbian:~/open-zwave-control-panel $ sudo make
Please edit the Makefile to avoid this error message.
Makefile:59: recipe for target ‘defs’ failed
make: *** [defs] Error 1

I have tried a bunch of the things above but it still errors… can someone please help me? I’ve been at this for hours with no luck.

I also have this error. This is line 58 (through 61)

ifeq ($(LIBZWAVE),)
@echo Please edit the Makefile to avoid this error message.
@exit 1
endif

There’s a Z-Wave control panel built into HA - you no longer need the OZWCP.

How do I access this?

Look in the Configuration menu for Z-Wave.

If you’re missing the Configuration menu, ensure that you have config: in your configuration.yaml. It should be at the start of a line, with no spaces before it.